home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr35
/
ripdmo15.zip
/
RIPAINT.DOC
< prev
next >
Wrap
Text File
|
1993-04-01
|
247KB
|
5,600 lines
-----------------------------
RIPAINT.EXE
Version 1.50.00
-------------------------------------------------------
Copyright (c) 1992-93 TeleGrafix Communications, Inc.
All Rights Reserved
-----------------------------------
March 29, 1993
1.0 - INTRODUCTION
==================
Thank you for purchasing RIPaint from TeleGrafix Communications,
Inc. You have just started down the road to online graphics for
your BBS or online Information Server. This state of the art
Paint Program will allow your text based host (BBS) to display
EGA level graphics to your IBM-PC callers.
RIPaint is actually a "What You See Is What You Get" (WYSIWIG)
Graphical User Interface (GUI) designer that works just like a
normal Paint Program. It reads and writes "text based" RIPscrip
graphical script files. These files are then loaded onto the
BBS in place of a normal ANSI, ASCII menu, or are uploaded to
Email or filebases. Users of RIPterm (the RIPscrip graphics
based Terminal for IBM-PC's) will see the system in full
graphics mode. You can use RIPscrip to convert your existing
BBS to an entirely "point and click" system, or just show pretty
pictures. The choice is up to you.
1.1 - DISCLAIMER
================
YOU SHOULD CAREFULLY READ THE FOLLOWING TERMS AND CONDITIONS
BEFORE INSTALLING OR USING THIS DISKETTE. INSTALLING OR USING
THIS DISKETTE INDICATES YOUR ACCEPTANCE OF THESE TERMS AND
CONDITIONS. IF YOU DO NOT AGREE WITH THEM, YOU SHOULD RETURN
THIS DISKETTE WITHIN 30 DAYS OF THE ORIGINAL DATE OF PURCHASE,
AND THE PRICE OF THE PRODUCT WILL BE REFUNDED TO YOU.
1.1.1 - DEFINITIONS
===================
"YOU" and "YOUR" shall be taken as referring to the person or
business entity who purchased this License to use this Software
or for whom such License was purchased.
"SOFTWARE" shall be taken as referring to the files supplied on
the diskette(s) inside the package, and to any and all copies,
updates, modifications, functionally-equivalent derivatives, or
any parts or portions thereof.
1.1.2 - LICENSE
===============
You may:
1. install and use one copy of this Software on a single
Computer.
2. copy this Software into machine-readable or printed
form, for backup or archival purposes in support of
your use of this Software.
3. transfer this Software and license to another party
if the other part agrees to accept the terms and
conditions of this Agreement. If the enclosed
Software is an update, any transfer must include the
updated and all prior versions. If you transfer the
Software, you must at the same time either transfer
all copies, whether in machine-readable or printed
form, to the same party, or destroy any copies not
transferred.
If this Software package contains both 3.5 and 5.25 disks, only
a single Software License is created hereby. All enclosed
diskettes are covered under, and restricted by, the terms of
this single Software License Agreement.
YOU MAY NOT USE, COPY, MODIFY, OR TRANSFER THIS SOFTWARE, OR ANY
COPY, MODIFICATION, OR MERGED PORTION, IN WHOLE OR IN PART,
EXCEPT AS EXPRESSLY PROVIDED FOR IN THIS LICENSE, OR IN
AMENDMENTS SIGNED BY THE OFFICER(S) OF TELEGRAFIX COMMUNICATIONS,
INC. IF YOU TRANSFER POSSESSION OF ANY COPY OF THIS SOFTWARE,
OR ANY FUNCTIONALLY-EQUIVALENT DERIVATIVE, OR ANY PORTION OR
MODIFICATION THEREOF, TO ANOTHER PARTY, YOUR LICENSE IS
AUTOMATICALLY TERMINATED.
1.1.3 - TERM
============
This license is effective until terminated. You may terminate
it at any time by destroying all copies of the Software covered
by this Agreement. It will also terminate upon conditions set
forth elsewhere in this Agreement or if you fail to comply with
any term or condition of this Agreement. You agree upon such
termination to destroy this Software, including all copies,
functionally-equivalent derivatives, and all portions and
modifications thereof in any form.
1.1.4 - LIMITED WARRANTY
========================
THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY, AND FITNESS FOR A
PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE
PROVE DEFECTIVE, YOU (NOT TELEGRAFIX COMMUNICATIONS, INC) ASSUME
THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR, OR
CORRECTION.
SOME STATES DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO
THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. THIS WARRANTY GIVES
YOU SPECIFIC LEGAL RIGHTS AND YOU MAY ALSO HAVE OTHER RIGHTS
WHICH VARY FROM STATE TO STATE.
TELEGRAFIX COMMUNICATIONS, INC. does not warrant that the
functions contained in this software will meet your requirements
or that the operation of this Software will be uninterrupted or
error-free. However, TELEGRAFIX COMMUNICATIONS, INC. does
warrant the diskette on which the Software is furnished to be
free from defects in materials and workmanship under normal use
for a period of ninety (90) days from the date of delivery to
you.
1.1.5 - LIMITATIONS OF REMEDIES
===============================
TELEGRAFIX COMMUNICATIONS' entire liability and your exclusive
remedy shall be:
a. the replacement of any diskette not meeting
TELEGRAFIX's "Limited Warranty" and which is returned
to TELEGRAFIX, or
b. if TELEGRAFIX is unable to deliver a replacement
diskette which is free of defects in materials or
workmanship, you may terminate this Agreement by
returning this Software and your money will be
refunded.
IN NO EVENT WILL TELEGRAFIX COMMUNICATIONS, INC. BE LIABLE TO YOU
FOR ANY DAMAGES, INCLUDING ANY LOST PROFITS, LOST SAVINGS OR
OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
OR INABILITY TO USE THE SOFTWARE EVEN IF TELEGRAFIX OR ITS
AUTHORIZED REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
SOME STATES DO NOT ALLOW THE LIMITATION OR EXCLUSION OF
LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO THE ABOVE
LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU.
1.1.6 - GENERAL
===============
You may not sublicense, assign or otherwise transfer this
License or Software except as expressly provided in this
Agreement. Any attempt to otherwise sublicense, assign, or
transfer any of the rights, duties or obligations hereunder is
expressly prohibited and will terminate this Agreement.
All Agreements covering this Software (including but not limited
to any and all updates, upgrades, and enhancements to this
Software or any portion thereof, bearing the same registration
number) shall be deemed to be counterparts of one and the same
License Agreement instrument.
BY INSTALLING OR USING THIS SOFTWARE, YOU ACKNOWLEDGE THAT YOU
HAVE READ THIS AGREEMENT, UNDERSTAND IT, AND AGREE TO BE BOUND
BY ITS TERMS AND CONDITIONS. YOU FURTHER AGREE THAT IT IS THE
COMPLETE AND EXCLUSIVE STATEMENT OF THE AGREEMENT BETWEEN US,
WHICH SUPERSEDES ANY PROPOSAL OR PRIOR AGREEMENT, ORAL OR
WRITTEN, AND ANY OTHER COMMUNICATIONS BETWEEN US RELATING TO THE
SUBJECT MATTER OF THIS AGREEMENT.
1.2 - REQUIREMENTS
==================
RIPaint requires that you be using an IBM-PC compatible computer
system running MS-DOS version 3.0 or higher. You must have 640K
of conventional memory and at least 2.0 to 2.5 megabytes of hard
disk space for the various Icons, Scenes and other files
included with the package. In addition, you must have a
Microsoft compatible mouse and an EGA or VGA compatible video
card. A color monitor is seriously recommended, but it not
necessary. RIPaint does not require the existence of Extended
or Expanded (EMS) memory.
1.2 - WHAT IS RIPaint and RIPscrip?
===================================
RIPscrip is actually a text based "language" for the purpose of
storing graphical information. Unlike the majority of Paint
Programs on the market now, RIPaint is not "image" oriented. It
is object oriented. By Object Oriented, we mean that RIPaint
acts like a big "macro recorder", keeping track of most actions
you perform in the Paint Program. These actions are then saved
into a .RIP file when you choose the Save option as a sequence
of RIPscrip graphics commands. The commands, when played back
on a RIPscrip compatible software package, will reproduce the
screen generated in RIPaint.
RIPscrip is actually, a very complex script language. It was
designed to be as small as possible, efficient and fast. Its
second major criteria, is that it must be entirely text based so
it can be installed on any Text Based Host system. All RIPscrip
is 7-bit ASCII, which can be transmitted over 7-E-1 connections
as easily as on 8-N-1 hosts (eg, TYMNET, CompuServe, GEnie,
PC-Pursuit, TeleNet, etc).
RIPscrip files are very cryptic looking. That is why RIPaint
was designed so that nobody would ever have to touch a line of
RIPscrip source code manually. Besides, designing a graphical
user system by editing text files is not intuitive at all, and
goes completely against the concept of GUI systems!
Part of the complexity of RIPscrip files is that they do not use
a numbering system like we, Humans use (ie, Decimal). Decimal
numbering systems use the digits 0-9. RIPscrip uses a numbering
system with 36 digits (0-9, A-Z). This is called Hexa-Tri-
Decimal. This numbering system is used because it can store a
number in fewer digits than in decimal, thus saving space and
transmission efficiency.
1.3 - WHAT DOES RIPscrip OFFER?
===============================
RIPscrip offers many graphical commands for presenting infor-
mation to the end-user in an eye-pleasing manner. A comprehen-
sive set of commands provides a multitude of graphical presenta-
tion mediums. Among the many graphical features of RIPscrip are
the following:
- Full Graphical Primitives (Box, Circle, etc)
- Specialized Fill Patterns for eye catching results
- Full color manipulation commands
- Multiple, scalable, colored fonts
- Simultaneous Text and Graphics Windows on screen at
once. This allows the end-user to view graphics and
normal text at the same time.
- Full Mouse Support for "point and click" operation
- Remote "bitmap" Icons for detailed, high-speed
graphics.
- Full Cut and Paste ability
- Custom defined line-styles for technical drawings,
etc.
- ...and much more
Using RIPscrip graphics for your Online Information Service, you
can show visually stunning graphics, offer full point and click
access to your service, and in many cases, speed up throughput
(bandwidth) of your users' online connect times. In other
words, graphics can SPEED UP online connections, instead of slow
them down. This is based on ANSI vs. RIPscrip menus, not ASCII
vs. RIP.
1.4 - HOW CAN RIPscrip WORK FOR ME?
===================================
If you are a System Operator of an Electronic Information
Service, an Applications Developer or a Graphical Artist who
wishes to generate graphics for a RIPscrip based service,
RIPaint is the system for you. With RIPscrip's text based
nature, installing graphics on a normal System can be very easy,
and most rewarding. Simply replace your existing Text menus
with RIPscrip files and you are quite literally, done! Log-on
with a RIPscrip compatible Terminal Program (like RIPterm) and
you're on-the-air.
Depending on the capabilities of your host software, you may be
able to replace only menus, or completely RIPize your entire
system, transforming it to a completely graphical system.
RIPscrip graphics have been tested with The MajorBBS, Wildcat
BBS, PC-Board and TBBS to name but a few. In all cases,
RIPscrip graphics were obtainable online with a minimum of
effort. If you encounter problems, please feel free to contact
TeleGrafix's Technical Support at (714) 379-2131 for further
information.
All you need to get up and running are two things: RIPaint, and
RIPterm. RIPaint is commercial software which you have just
purchased. RIPterm is a Freeware graphics based terminal
program. RIPterm is entirely free of charge subject to the
terms and conditions set forth in the RIPterm documentation.
2.0 - RIPaint - GETTING STARTED
===============================
RIPaint is a full featured Paint Program. It can take advantage
of multiple Scene Files (.RIP), a number of multi-colored Icon
Files (.ICN), Color Palettes (.PAL), Fill Patterns (.PAT) and
much more. Needless to say, in order to keep the system working
smoothly, there must be some organization. RIPaint accomplishes
this by keeping different files in different sub-directories.
This is done so that the actual PAINT directory is not cluttered
up with literally hundreds of files. RIPaint comes with many
example Scenes for your viewing, as well as a multitude of Icon
Files that you may use completely free, as much as you wish.
2.1 - SOFTWARE INSTALLATION
===========================
RUNNING INSTALL
---------------
To install RIPaint, perform the following:
1. Insert the RIPaint diskette into one of your diskette
drives (either A: or B:)
2. Type in one of the following commands:
A:INSTALL ... (for A:)
or, B:INSTALL ... (for B:)
3. Follow the instructions that appear on your screen.
HARD-DISK DIRECTORY LAYOUT AFTER INSTALL IS COMPLETED
-----------------------------------------------------
The INSTALL program will create the following subdirectories
(this example uses C: for the destination hard-disk drive):
C:\RIPAINT\ .......... Contains RIPscrip Paint & /Term
C:\RIPAINT\RIP ....... Contains all RIPscrip scenes
C:\RIPAINT\ICONS ..... Contains all ICON files
C:\RIPAINT\PALETTES .. Contains color palettes
C:\RIPAINT\PATTERNS .. Contains custom fill pattern files
C:\RIPAINT\BUTTONS ... Saved Button Styles
C:\RIPAINT\GRIDS ..... Saved Grid Snap settings
C:\RIPAINT\DOC ....... Contains Misc. Documentation
C:\RIPAINT\CSPRITES .. Saved Icons in Turbo C format
(programmers)
All files will be moved into the correct directories.
Install will proceed to copy the necessary files onto your
hard disk and ensure that everything is in the correct
location.
*** You should view the README.NOW file that is
*** contained on your RIPaint diskette. It may
*** include information that is not in the Manual,
*** or otherwise important things you shoud know of.
RUNNING RIPAINT
---------------
Once this procedure is complete, you are free to run RIPaint
by typing:
RIPAINT
at your DOS prompt. Read further in the documentation if you
wish to learn more about RIPaint and RIPscrip before you embark
on your first painting adventure. If you want to dive right in,
you might find the Online Help System useful. To access the
HELP SYSTEM, simply type F1 at any time. To access the Pull-down
menu system, hold down the RIGHT MOUSE BUTTON and "pull-down" the
menu bar.
3.0 - RIPaint BASICS
====================
This Documentation file is VERY incomplete. Due to demand, and
time constraints in the development cycle, an appropriate Docu-
mentation file has not been created yet. It WILL be very
shortly. For now, try looking through the Help System for
information on how to use certain features. The help system is
entirely context sensitive. For example, if you are in LINE mode
and hit F1 (help), a help screen on how to draw LINEs will be
shown. If you change to CIRCLE mode, then a CIRCLE help screen
would show up. So on and so forth.
This section has not been completed yet. For information on
using RIPaint features, consult the online Help System by typing
F1 in RIPaint (context sensitive), or by typing ALT-F1 for the
Table of Contents.
For the moment, the following information is important for you
to know before getting started:
There are a number of different sections of RIPaint. Many
things on the system to help you in many ways. There is a
movable toolbox that contains frequently used commands, and a
status bar at the bottom which shows you various current modes
and other information.
The Status Bar requires a bit of explanation. In the
lower-right side of the Status Bar are five boxes. Going from
left to right, they are:
1. The current Line Style and thickness
2. The current Fill Pattern
3. The current Fill Border Color
4. The current Fill Interior Color
5. The current Drawing color
There are three major points you should know before embarking on
your first RIPaint adventure:
1. Editing Icons may not operate the way you think.
Anything you do in the Icon Edit is not
automatically part of your Scene. In order to make
any Icon edits part of your scene, you must save
the Icon to an Icon file from within the Icon
Editor (zoom). After that, you MUST "load icon"
into your scene if you haven't done so already. If
you get into the habit of saving your Icon
modifications, and the Icon was previously loaded
into the Scene, then when you redraw the screen or
the like, the changes will be automatically
incorporated into the Scene. To put it all in a
nutshell, when you redraw the screen, RIPaint loads
any loaded Icons from disk then and there. So, if
you haven't saved your Icon modifications, they
will vanish when you do anything that would redraw
the screen.
2. There are three color selector dialog boxes.
Drawing Color, Fill Color and Fill Border Color.
Each of these represent:
a) DRAWING COLOR - the color of basic graphics
primitives like lines, circles, etc.
b) FILL COLOR - the color of any filled region.
For example, if you click inside a WHITE
square, while having the fill color set to
blue, you'll have a white square with a
blue region inside of it. See item (c)
below for a discussion of this "flood fill"
mode. A second mode of operation is
"Toggle Enclosed Fill ON/OFF". This mode,
available from the Fill Menu, will
automatically fill the interior of any
closed object (rectangle, circle, ellipse,
polygon, etc) with the current fill color
and fill pattern. This second fill mode
DOES NOT use the Fill Border Color (again,
see (c) below).
c) FILL BORDER COLOR - This option only affects
the "Flood fill" mode (or simply, Fill). A
Flood Fill is when you click the mouse
inside an area and tell it to fill the area
with an arbitrary color. The Fill Border
color specifies where the fill will
"stop". So, as in the example above (b)
dealing with the white square, if you set
the Fill Border Color to WHITE, while the
Fill Color is BLUE, and you click inside
the square, RIPaint will start filling from
the point where you clicked and spread
outward until it hits WHITE, where it will
stop. If you mistakenly specify the wrong
Fill Border color, you can obliterate your
scene quite easily. If this happens,
simply use the UNDO feature! One last note
regarding Flood Fill and Fill Border
Colors, if your enclosed area has even so
much as a single pixel "hole" in it, your
fill can "bleed" outside your region and
affect the rest of the scene. This may or
may not be a desirable affect.
As an additional advantage, we have included an offline DOS
program called ICONVIEW. This program can be run from within
your Icon directory and provides you with a slide-show type
viewer for all of your Icons. You may delete arbitrary Icons
from within here. This program is intended as an Icon
Maintenance utility so that you can clean out your Icon
directory of irrelevant Icons. Consult ICONVIEW.DOC for more
information.
3.1 - DRAWING MODES
===================
There are a great many different kinds of drawing modes avail-
able in RIPaint to achieve many varied effects. The available
drawing modes are as follows:
DRAW A CIRCULAR "ARC" ... HOTKEY: A
-----------------------------------
An ARC is only part of a circle, from one angle to another -
angle1 through angle2. If angle1=0, and angle2=360, an entire
circle is displayed. 0 degrees starts at 3 o'clock. 90 degrees
is at 12 o'clock, 180 degrees is at 9 o'clock, and 270 degrees
is at 6 o'clock.
To use this command, first click on the center point of the arc;
nothing will be drawn there, it is only used to determine the
size of the curve. After you have clicked on the center
point, drag the mouse out in a square to determine the full-size
of the circle that is to be used to construct the Arc. When you
have the size (radius) of the Arc set to your wishes, release
the left mouse button.
After you have determined the size of the Arc (radius), you will
see a "rubber band line" drawn from the center-point of the
circle, out to where your mouse cursor is. This line is used to
determine the starting and ending angles for the Arc. Place the
cursor where you want the arc to begin (starting angle), then
click (and hold down) the Left Mouse button. Move it counter-
clockwise to the position where you want it to end and release
the button.
Be very careful how you place your Arcs beginning and ending
angles. It takes a little getting used to, but once you know
how things work you'll be in business.
NOTE: You cannot "fill" an Arc, even if it is a complete
circle.
DRAW A RECTANGULAR "BOX" ... HOTKEY: B
--------------------------------------
This command allows you to draw a rectangular box of any size.
Simply click (and hold down) the left mouse button where you
want the upper-left or lower-right corner to begin. Then, while
still holding down the mouse button, drag the box as large as
you wish until it is the desired size. When complete, simply
release the mouse button.
The box will be drawn using the current drawing color and line
style. If Enclosed Fill mode is ON, then the interior region of
the Box will be filled using the current fill color and fill
pattern. If Enclosed Fill is OFF, the interior remains unfilled
and anything that existed on the screen behind the box will show
through (except at the borders, naturally).
DRAW A "CIRCLE" ... HOTKEY: C
-----------------------------
This command allows you to draw a circle on the screen. To
create a Circle, click (and hold down) the left mouse button
where you want the center of the circle to be. As soon as you
click, a rubber-band box will appear which shows how large the
circle will be. Simply drag the size of the circle to however
large you want it. The farther from the center point you go,
the larger the circle's radius. Release the mouse button when
the circle is of the desired size.
When complete, the circle will be drawn in the current drawing
color. Special Line "patterns" do not apply to circles, but the
line "thickness" does. So, you can draw a thick bordered
circle, but not a dotted circle.
If Enclosed Fill is ON, the interior of the circle is filled
with the current fill color and pattern. If it is OFF, then the
interior is untouched.
"FLOOD FILL" A REGION ON SCREEN ... HOTKEY: F
---------------------------------------------
This command takes a bit of explaining (and getting used to).
Its concept is straightforward. How you make it work, however,
is a little bit more complicated. Simply put, this command
allows you to click your mouse on a particular region, and the
area will be filled in with the current fill color and pattern.
The tricky part is telling RIPaint where to STOP filling! You
do this by specifying a "Fill Border" color. When fill mode
"finds" this color, it stops filling in that direction and goes
off filling areas it hasn't finished yet (or found the border
color).
This command would benefit from a simple example. Let's say
you draw a large White box, and a small White box inside the
larger one, like this:
_______________________ As you can clearly see, there
| | are two distinct regions, A
| | and B. Let's say you wanted
| A | to fill area A with blue, but
| ______________ | leave area B untouched.
| | | | Select a Fill border Color of
| | | | White, and a Fill Color of
| | | | Blue. Select Flood Fill Mode
| | B | | and click anywhere in the A
| | | | region. RIPaint will do the
| | | | rest for you by searching out
| |______________| | every single pixel that can
| | be filled that isn't White.
| |
| | Now what if the smaller box
| | wasn't White? If it were
|_______________________| say, Yellow? RIPaint would
obliterate the interior Box
because it didn't find any White! See for yourself. Try
this simple example to convince yourself that this is indeed
the way it works.
NOTE: Flood-fill can have a potentially unsesireable
effect on your picture. If the region you
click inside has even so much as a single pixel
"gap" anywhere, the fill will "bleed" outside
the desired region and clobber the area outside
the region. If this happens, use UNDO, fix the
hole, and try again.
"GET IMAGE" TO SCRAP BUFFER (COPY) ... HOTKEY: G
------------------------------------------------
This command, unlike the normal Graphical Objects, instructs
RIPaint to copy a specified rectangular region into the Scrap
Buffer. You are allowed at most, one image on the scrap buffer
at any one time. The image remains on the screen. To specify
the region to copy to the scrap buffer, drag out a rectangular
region around the image you wish to capture in exactly the same
way as you would drawing a box: drag.
You may then, subsequently use the Paste command to stamp that
image onto the screen at any place you wish. You may paste the
image as many times as you wish, providing you have not Copied
another image onto the scrap buffer.
NOTE: Doing a Get or Paste will "save" the command in
your list of commands. What this means, is when
you Redraw the screen, those cut & paste commands
will be executed. If you have something in the
Scrap Buffer and nothing has been done with it
yet, simply Redrawing the screen could obliterate
the clipboard contents.
Saving the Scene will also save the Cut and Paste commands, but
in a way you probably wouldn't think of. When saved, it only
saves the clip "box" coordinates pertaining to the cut or paste
you specified (eg, (50,80) to (105,122)). The image physically
in that region is not saved! When a Host system sends a
RIPscrip file to the terminal, it draws things on the screen
then you instruct the terminal to "copy" a picture on THEIR
screen onto THEIR scrap buffer. You can then paste THEIR scrap
buffer onto THEIR screen wherever you (the host) wants. Kind of
funky, but it saves a LOT of transmission time under certain
situations.
A simple example will illustrate the importance of this com-
mand. Let's say you spend 60 or 70 RIPscrip commands drawing
out a very detailed Brick on the user's screen. You've gener-
ated a really nice brick, but you don't want to have to recreate
that brick each and every time you want to make a brick wall.
You'd have to redraw the thing in different positions hundreds,
perhaps thousands of times. Instead, use the COPY & PASTE
commands after the first brick is drawn out. Drag the COPY
rectangle precisely around the edges of the Brick. Then use the
paste mode to stamp your detailed brick all over your screen. If
done well, you will have a highly detailed brick wall which
realistically only took a very short while to display. Much
faster than sending over a full screen bitmap image, huh?
"PASTE IMAGE" FROM SCRAP TO SCREEN ... HOTKEY: I
------------------------------------------------
See COPY TO SCRAP command (G) above for a detailed explanation
of this command.
DRAW A "LINE" ... HOTKEY: L
---------------------------
This command simply draws a line. Click on the starting point
of the line and drag the line out to the desired size and
orientation. The line will be drawn when you release the mouse
button in the current drawing color, and the current Line Style
and Thickness.
"MAGNIFYING GLASS" ... HOTKEY: M
--------------------------------
This command allows you to zoom-in on an area of the screen. It
does not create any transmittable commands, nor does it provide
any serious functionality. Its main purpose in life is to
magnify an area for closer scrutiny. To use this command,
simply drag a box around the region you wish to zoom in on. If
the region is too big for magnification, a window will popup
informing you that you should choose a smaller area. The
computer will determine the optimal zoom ratio to display the
area in as high a magnification as possible. Simply hit the
ESCAPE key or click inside the Magnify window to make it
disappear and return to normal mode.
DRAW AN "OVAL (ELLIPSE)" ... HOTKEY: O
--------------------------------------
This command allows you to draw an elliptical shape on the
screen. It is quite easy to draw one. Simply click where you
want the center-point of the ellipse to be and drag the mouse
out like you would for any rectangle. A rectangular rubber-band
box will be shown to indicate the size of the Ellipse you're
drawing. Once you release the mouse, the box vanishes and the
ellipse is drawn using the current drawing color and thickness.
The current Line Pattern mode is not used for Ellipses. So, in
other words, you can draw an ellipse with a thick border but you
can't draw one with a dashed line border.
If Enclosed Fill mode is ON, the interior of the Ellipse is
filled using the current fill color and fill pattern. If the
mode is OFF, then the interior is left untouched.
DRAW A "POLYGON" ... HOTKEY: P
------------------------------
This allows you to draw a multi-faceted polygonal object with up
to 1000 vertices! Drawing a polygon though, is a little bit
different than the other commands you've seen so far. To draw a
polygon, simply click down on the beginning point. Release the
button and a rubber-band line will be displayed starting at the
beginning point, and wherever the mouse cursor is located. Move
to the next point in the polygon, then click and release the
mouse button. You have just made the first "leg" of the polygon
permanent and are now working on the second facet. The
Rubber-Band line has now jumped from the starting point, to the
second point. Continue clicking the mouse down on each vertex
of the polygon until you are down to the last one. When you are
at the last point in your polygon, instead of clicking on the
left mouse button to stamp the point on the screen, click the
RIGHT mouse button. This means, this is the last point in the
polygon. You do not have to connect the beginning point of the
polygon to the ending point. RIPaint will do this automatically
for you.
Once specified, the polygon will be drawn using the current
drawing color, line thickness and pattern. If you are using
Enclosed Fill mode, then the interior of the polygon will be
filled using the current fill pattern and color. Filled
polygons can get some very unusual effects if the lines making
up the polygon overlap. If they overlap, you can achieve Filled
Polygons with "blank spaces" in the middle. If done right, you
can get some very interesting "window" effects that let you see
what is behind. Experiment with this feature. Try drawing some
polygons in fill mode and see what happens when you cross-over
the polygon's lines.
DRAW A FILLED "RECTANGLAR BAR" ... HOTKEY: R
--------------------------------------------
This draws and fills a rectangular "filled" region (bar). No
border is drawn, but the entire region selected will be filled
in entirely with the current drawing color and the current fill
style.
To use this command, click (and hold down) the left mouse button
where you want either the upper-left or lower-right corner of
the region to be located. While holding down the button, drag
the mouse until the rubber-band rectangle is the desired size.
When it is satisfactory, simply release the left mouse button.
If you wish to draw a colored-in rectangle, with a different
colored border, see the BOX command using the ENCLOSED FILL
option.
Enclosed Fill Mode does not apply with this command, as it is
implicitly "on" by default when this command is selected. If
Enclosed Fill was OFF before you selected this command, it will
remain OFF when another object is selected (eg, Line, Pixel,
etc).
DRAW "TEXT" MODE ... HOTKEY: T
------------------------------
This allows you to put Text onto the screen anywhere you want.
You have up to five font styles to choose from. The fonts are:
Default, Triplex, Sans Serif, Gothic and Small. You have ten
different sizes of fonts to choose from and each one can be
significantly different in size, even if they have the same
magnification factors. In other words, a size 4 "small" font,
is much tinier than a size 4 "Gothic" font.
When you enter this mode, the mouse cursor changes into a small
box. This box, represents the size of the currently selected
font. To change the font size, type Crtl+F on your keyboard. To
change the actual font style, type ALT+F. When you have the
desired size and style, position the cursor box on the screen
where you want the first character to appear and click the left
mouse button down (and release it). The color of the box will
change from a Dark Magenta to a Dark Gray. You are now in
"Typing Mode". Type whatever text you wish to be entered at
that location. It will appear on the screen in the current
font, using the current drawing color. If you type too much
text, so that the cursor falls off the right edge of the screen,
you are immediately kicked out of "Typing Mode", and you go back
to "click where you want text to go" mode. If you tap the
<ENTER> key when in Typing Mode, whatever text you entered will
become a permanent part of your scene (unless you UNDO it).
Right after you hit <ENTER>, your cursor box jumps to the next
line immediately below the first place you started typing. This
is done so that you can type paragraphs easily without having to
"guess" where the left margin begins every time.
This command is line oriented. Once you tap <ENTER> on a line,
it is saved to the scene. Tapping <ESC> on the second line of
text will not undo the first line. You must physically choose
UNDO to remove that object from the scene.
DRAW A "PIXEL" ... HOTKEY: X
----------------------------
This command draws a single colored pixel on the screen at a
given position. The color used is the current drawing color.
Simply click (and release) the mouse cursor at the location on
the screen where you want the pixel to be located, and it is
saved to your Scene. In an interactive, Host/Terminal
environment, this command probably would not be used much. It
is provided for completeness.
"ZOOM/EDIT REGION" MODE ... HOTKEY: Z
-------------------------------------
This command, much like the Magnifying glass option, zooms in on
a given region in much the same fashion. However, a color
palette and several other click buttons are shown at the bottom
of the window. In addition, the zoomed-in window is actually an
editor! Simply click on the color palette to change the color
and click inside the zoomed window and pixels you click on will
be changed to the currently selected color.
"CREATE MOUSE REGION" ... HOTKEY: U
-----------------------------------
This mode allows you to draw an invisible rectangle on your
scene, thus defining a "hot" Mouse Region. The purpose of this
feature is for online applications where you wish to create an
area on the screen that is "clickable" and will instruct the BBS
(host) to do something. After you highlight the area you wish
to be a Mouse Region, RIPaint will ask you what text command to
send to the BBS if this field is clicked. After that, it will
ask you if the image should be inverted while it is being
clicked. This can lend a sense of "dimension" to the region by
showing the user a visual "click". Finally, a third question
will be asked whether the Text Window should be zoomed to full
size after this region is clicked. This allows you to branch
out to an area of the BBS (via mouse click) that has not been
converted to RIPscrip yet, but still retain the text mode
interface.
"IMPORT TEXT REGION" ... HOTKEY: ALT+I
--------------------------------------
This command allows you to import an arbitrary text file into
your Graphics Scene without having to type a single line of
text.
Start by moving the mouse cursor to the upper left corner of
the area that is to be the text import region. Press and
hold the left button and move the cursor to the postion that
will be the lower right corner of the text area. A
rectangular area will be continuously drawn as you move the
mouse cursor.
When you are satisfied with the size and shape of the text
area, release the mouse button to set its shape. A browse
list of the available files for importing will be displayed,
allowing you to select a document to import. After selecting
the file, the text from the document will be formatted to fit
into the specifed text region. If the document is longer
than the window can hold, the file will be chopped-short at
the bottom of the text region to fit.
The imported text is drawn in the currently selected Font,
Font Size and in the current Drawing Color. Once a file is
selected, it is reformatted and inserted into your Scene.
Text is right and left justified for an appealing view.
TOGGLE "ENCLOSED FILL" ON OR OFF ... HOTKEY: E
----------------------------------------------
This mode allows you to automatically "fill-in" graphical
objects which surround an entire area completely (i.e., Circle,
Box, Oval, Polygon, etc). When this mode is ON, whenever you
draw an object that entirely encloses an area, its interior will
be filled in using the current fill color and the current fill
pattern. The border of the objects are undamaged and will
retain the current drawing color as its color.
Some graphical objects cannot be filled. For example, you
cannot fill the interior of a Pixel, or a Line because there is
no interior to fill. If you are currently using an object which
does not have an interior, Enclosed Fill Mode will remain ON,
but will be temporarily suspended until you select an object
where Fill Mode works.
DRAW A "BUTTON" ON SCREEN ... HOTKEY: ALT-Q
-------------------------------------------
A "button" is probably one of the most advanced features of
RIPscrip graphics, combining an "Icon", with a "Mouse Field",
and optionally a text "label" to create one self-contained
clickable button. This command is covered in great detail
in a remaining section entitled "Self-Contained Buttons".
When you choose "button" mode, one of three things will happen
depending on what type of a Button you have chosen to create.
If you have chosen a "User Icon" button style, then when you
select Button Mode, a list of available Icons will appear to
choose from. Select an Icon, and you are allowed to place the
Icon on the screen. This is the foundation image for the
Button. You are then presented with a series of questions
which will characterize the Button. See the BUTTON section
for more details about this command. Once the Button is
created, you will auto-matically be switched to LINE mode.
If you have chosen a "Clipboard" button style, then when you
select Button Mode, you will be allowed to place the current
contents of the Clipboard onto the screen just as any Paste
command would let you. Once you have placed the image on the
screen, you will be presented with a series of questions
which will configure the particular button you're creating.
Once you place one Button, you will remain in Button mode
until such time as you either create the 128th Button (the
most you can have), or until you change modes.
If you have chosen a "Plain" button style, one of two things
will happen. If you specified a HEIGHT and WIDTH in the
Button Style Designer, then this mode will act just as if
you were trying to place a Clipboard Button on the screen.
The Height/Width of the Button are already known so all you
have to do is just place it on the screen and answer the
questions. If the Height & Width in the Button Designer
are set to zero (0), then you are allowed to "drag" the
Button as large as you want it. This allows you to create
buttons of different sizes quickly and easily.
See the Button Command section for more details on all of
these options.
DRAWING "BEZIER CURVES" ... HOTKEY: ALT-R
-----------------------------------------
Bezier Curves are a very powerful curve drawing mechanism.
With Bezier Curves, you can draw curves of any shape, size
or complexity (curviness).
A Bezier Curve is created by placing four "control points"
on the screen. These four points determine the overall
shape of the curve. Two of the points are the beginning
and ending points of the curve. The Curve DOES begin and
end on these points. The other two points, often referred
to as the Adjuster Points, allow you to custom tailor the
shape of one half of the curve.
When in Bezier Curve mode, you must first draw a line out
which determines the beginning and ending points of the
Curve. Don't worry, once these points are placed on screen
you can edit them and move them around with ease. After
you place the initial line on screen, you will see four
hilighted points on that line, one on each end, and two
at 1/3 and 2/3 through the line. These points on the
inside of the line are your Adjuster Points. Simply click
on (or nearby) one of them, and drag them to a new location.
You will see the curve miraculously shape itself before your
very eyes! Just pick up the points and have fun!
Bezier Curves transmit very quickly, but can be slow to draw
on a PC without a math co-processor. With this in mind, you
can alter how many "segments" should comprise a Bezier Curve.
For speed, bezier curves are actually a bunch of short
connected lines, rather than hundreds or thousands of
mathematically computed points. The more line segments that
make up your Bezier curve, the smoother the curve appears.
Also, the more points, the slower the curve will display on
your screen. You may edit the smoothness factor of a Bezier
Curve from the "Curve Smoothness" option in the OPTIONS
pull-down menu. A good recommended setting for this would
be say, "10" for very small curves, "25" for large, non-
complex curves, and say, 35-40 for a large "complex" curve.
You can also place Bezier Curves end-on-end to make up very
complex curve structures if you wish. To do this, make sure
that your START point of one curve is exactly on top of the
END point of another curve. Use the first Adjuster Point in
the new curve and try and make it align with the last part
of the previous curve you're trying to connect to. This will
make the intersection point of the two curves as smooth as
possible.
DRAWING AN "ELLIPTICAL ARC" ... HOTKEY: ALT-V
---------------------------------------------
This command functions a lot like combining the Ellipse
command with the Arc command. The first thing you are
allowed to do is defined the size of the ellipse that will
be used for the arc. In this manner, it is identical in
user interface to the Ellipse command. Once you have det-
ermined the size of the ellipse, you will then be placed
in "arc" mode where you can specify the starting and ending
angle of the arc. An "elliptical arc" will be drawn when
you release the mouse cursor.
NOTE: This command only uses line "thickness". It
does not use line patterns.
DRAWING A "PIE SLICE" ... HOTKEY: ALT-Y
---------------------------------------
This command is identical in nature to a circular Arc,
except that instead of simply drawing a Curve, it draws
a pie-slice from the center-point of the circle from
the starting angle over to the ending angle. The interior
of the pie slice is filled in with the current fill pattern
and fill color. The outline of the pie slice is drawn using
the current line thickness and drawing color. Sorry, XOR
write mode does not apply to pie slices.
DRAWING AN "ELLIPTICAL PIE SLICE" ... HOTKEY: ALT-D
---------------------------------------------------
This command is identical in nature to the Pie Slice command
described previously, except in the fact that it will draw an
elliptical pie slice instead of a circular one.
2.2 - OTHER FEATURES
====================
RIPaint has a great many features which make drawing and painting
your Scenes much easier. In the sections that follow, we will cover
some of the features.
3.2 - GRID SNAP
===============
A Grid Snap mode is available from the OPTIONS menu for exact work.
Grid Snap allows you to draw objects along EXACT lines without having
to worry about whether or not you got the pointer on the right
pixel. You can set the "snap" on in either the X or the Y directions
or both if you wish to have a SNAP GRID.
GRID SNAP ABILITIES
-------------------
With Grid Snap you can very easily draw grids, boxes which
intersect, or make technical drawings to scale. You can set
the Grid Snap area only to a particular "region" of the full
screen like say, grid snap in the rectangle defined by (100,
100) to (500, 300). Anything outside of this rectangle will
not be "snapped" to the next closest snap mark. An extra
option was added for utter flexibility: an INSET option. An
INSET is probably best explained with an example:
GRID SNAP EXAMPLE
-----------------
Let's say you have defined your Grid Snap Height to be 15
(H=15), and your Grid Snap Width to be 30 (W=30). An Inset
is the "offset" from the end of one box to the beginning of
the next box as shown below:
----W--- I
+--------+-+--------+-+--------+-+
H | | | | | | | |
| | | | | | | |
+--------+-+--------+-+--------+-+
I | +--------+-+--------+-+--------+-+
| | | | | | |
| | | | | | |
+--------+-+--------+-+--------+-+
+--------+-+--------+-+--------+-+
GRID SNAP INSETS
----------------
When using INSETs as shown above, any line drawn in the grid
is a "snap line". This makes objects like bricks (with the
grouting), etc. a piece of cake to draw out.
THE "BEFORE" ATTRIBUTE
----------------------
One final option in the Grid Snap Dialog box is the BEFORE
button. This button, when clicked, will instruct RIPaint to
display the grid BEFORE the image (i.e., behind). By
default, this option is not selected which will place the
Grid "on top" of your scene. Use the Behind mode if the Grid
obstructs too much of your scene.
THE "INVISIBLE" ATTRIBUTE
-------------------------
You can place an invisible grid-snap on your screen. This is
ideal in situations where you are using the Grid Snap for
the borders for Icon Editing, and you do not want the hilighted
Grid Snap lines to become part of your Edited Icon image. This
can also be a useful mode if you are dealing with a very "fine"
Grid, where the hilight lines would overly clutter up the
display to the point where you wouldn't be able to see the
scene you're editing clearly.
GRID SNAP CONFIGURATION - SPECIFYING VALUES THAT WORK
-----------------------------------------------------
The Grid Snap dialog box provides you with eight different
editable fields, four for the X snap, and four for the Y
snap. The Left/ Right fields for X-Snap govern where
Snapping starts and stops on a line. Top/Bottom fields for
the Y-Snap govern what line the Y-Snap begins and ends on.
The Snap Box Width/Height is how large the non-inset portion
of the Grid is. Finally, the Inset field allows you to draw
an inset Grid.
The following table summarizes the eight fields, and what
values are valid for each one:
X-SNAP DATA FIELDS VALUES Y-SNAP DATA FIELDS VALUES
===============================================================
Left X Snap Position (0-639) Top Y Snap Position (0-349)
Right X Snap Position (0-639) Bottom Y Snap Position (0-349)
Snap Box Width (1-639) Snap Box Height (1-349)
Snap Box X Inset (0-639) Snap Box Y Inset (0-349)
3.3 - MOUSE BORDERS
===================
Sometimes it may become necessary to limit the mouse so that it
cannot go outside of a particular region. For example, if you are
working on the inside of a small box, doing fine detail work, you
obviously want your actions to NOT go outside the lines. Simply set
the four Mouse Borders to the edge of your region and voila, the
mouse will stay inside the box. The only exception to this is when
you click the RIGHT MOUSE BUTTON for the pull down menu. If you do
this, the borders are temporarily "released" until you are finished
with the pull down menus.
3.4 - CUSTOM COLOR PALETTES
===========================
You may customize the 16 colors that RIPaint (and RIPterm) will use
for the graphical scenes drawn. Simply selecting ALT-P will bring
you into the Color Palette Editor.
THE "ACTIVE COLOR PALETTE"
--------------------------
On the top of the Dialog box, you will see four colored
squares with LEFT and RIGHT arrows on either side. This
is a "window" into your existing 16 color palette (the
ACTIVE PALETTE). Only four colors are shown at any one
time. You use the Left/Right arrows to scroll horizon-
tally through the list of Active colors so that you may
edit them.
THE "MASTER COLOR PALETTE"
--------------------------
At the bottom of the Dialog Box, you will see eight colored
buttons. These buttons are your Master Color Palette. You
have a Master Palette of 64 colors. This is like having 64
different colored tubes of paint to choose from, but only
being able to use 16 of them at any one time in your
scene. On either side of these buttons are a similar pair
of LEFT and RIGHT arrows. These arrows are used to scroll
through the list of Master Colors.
EDITING THE "ACTIVE COLOR PALETTE"
----------------------------------
To edit one or more of the colors in the Active Color
Palette, click on one of the colors in the Active Color
window. If the color in the Master Palette is visisible in
the scrolling Master Palette list (at the bottom of the
Dialog Box), it too will be hilighted. Once you have
selected which Active Color to edit, simply click on one of
the Master Colors and the Color Button in the Active Color
Palette is instantly updated with the new color definition.
If you choose a color in the Active Color Palette and it is
not hilighted in the Master Color Palette below, then the
actual Master Color is "off-screen" - you would have to use
the Left/Right arrow keys on the Master Palette window to
bring it into view.
LOADING AND SAVING CUSTOM DEFINED PALETTES
------------------------------------------
You may SAVE Color Palettes if you wish for future use by
clicking on the SAVE button. A file browser will appear
displaying the files in the PALETTES\ sub-directory.
Either click on an existing file (to replace), or begin
typing a new filename to save to a fresh .PAL'ette file.
You may LOAD a previously saved Palette so that you can use
it in the existing scenes as well. Click on LOAD and a
listing of existing Palette files will be displayed for you
to choose from.
USING CUSTOM PALETTES IN YOUR SCENES
------------------------------------
Clicking on the OK button will physically save the new
color palette information into your Scene (even if you made
no changes). If you do not wish to edit your palette
(you changed your mind), use the CANCEL button instead to
keep your file size as small as possible. A Custom Palette
command consumes 35 bytes of your .RIP file.
SPECIAL EFFECTS AND OTHER COLOR PALETTE ISSUES
----------------------------------------------
You can achieve some interesting "special effects" by
changing your color palette in "mid-stride" in the middle
of your scene. For example, say you made a design using
four colors you didn't use anywhere else in your scene.
Going into the Palette Editor and changing only those four
colors will instantly change those colors on-screen the
moment you exit the Palette Editor. This does not change
ALL occurences of this color from the very beginning of
your Scene - but rather, it only changes those four colors
when the Custom Palette command is encountered.
Using this method, you can change the color palette
numerous times in succession to achieve an effect called
"color cycling". This can produce some fantastically
stunning visual effects if done well. This has been used
in many popular home- video entertainment systems to
display "running water", or other such things.
DEFAULT PALETTE
---------------
Because the Color Palette effects ALL colors displayed in
RIPterm, it is a good idea to reset the colors when you're
no longer needing "odd-ball" colors. When you reset the
colors, you choose the "Default Color Palette". This is
the normal Color Palette used by MS-DOS to display typical
ANSI Graphics colors. It is recommended that you do not
use Custom Palettes except when you truly need them, and to
reset them to Default when you have finished using special
color combinations.
3.5 - PASTE MODES
=================
When you Paste an Icon or the Clipboard onto the screen, you are
asked which "mode" you wish to use. There are five different modes
to choose from: NORMAL (copy), COMPLIMENT (xor), MERGE (or), MASK
(and) and INVERSE (not). NORMAL is the mode that you will use most
often. XOR mode is uniquely suited to animation. Simply paste an
Icon on the screen in XOR mode, do some other graphics operations,
then sometime later, paste the exact same Icon over the first one,
again in XOR mode, and the Icon is erased, showing what WAS behind it
before you pasted it the first time. Experiment with this feature as
you can accomplish some very spectacular effects. With AND and OR
mode, you can accomplish some nice translucent effects.
NOTE: Using the XOR animation technique with Mouse Borders can
ensure that you place the Icon on the same place perfectly!
3.6 - PASTE LOCK MODE
=====================
If you find yourself pasting a lot of images in the same "mode" all
the time, you can "lock" that mode so that every Icon you paste from
then on out will use that mode automatically instead of asking you
each and every time. This is a time-saving feature.
3.7 - REDRAW AND REDRAW SINGLE-STEP
=====================================
There are two forms of REDRAW mode, full redraw, and single-step
redraw. The Full Redraw will clear the screen and redraw your scene
as you created it from start to finish. The single-step mode will
pause in between each action you performed, displaying a small
triangle in the lower right-hand corner. Simply hit any key, or
click the mouse and it will draw the next action you entered. Hit
ESC and it will terminate single-step mode and continue non-stop
until the end of the document.
3.8 - MULTI-LEVEL UNDO
======================
A unique aspect of RIPaint is that anything you do in the software
can be undone simply by typing ALT-U. This will remove the last
action you performed and redraw the screen. You may Undo as many
times as you wish, all the way to a blank screen. Even if you save a
Scene and re-load it, you may still perform Undo as if the file were
created right then and there.
3.9 - OBJECT LISTER
===================
The object lister gives you a breakdown of each and every action that
your scene contains. You can scroll through them and learn how
RIPaint stores its information. If you wish to remove an action you
performed way back when without having to UNDO multiple times, simply
load the Object Lister, click on the item, and choose Delete.
When you click on an object in the listing, its description will be
displayed in a pop-up dialog box with the option to Delete it. If
you choose Delete, the following confirmation message appears on the
screen:
Are you sure you want to remove this from the Scene?
If you choose YES, then the object will be removed from the Listing.
When you exit the Object Lister, your scene will be redrawn auto-
matically to remove the object. If you did not delete any objects
from within the Object Lister, then your screen will NOT be redrawn.
NOTE: If you have edited any Icons using the Zooming Icon
Editor, and you have NOT saved your Icon yet, choosing
DELETE from the Object Lister will NOT allow you to
save your Icon edits. When you exit the Object Lister,
the screen will be redrawn regardless of your Icon
modifications!
3.10 - OUTPUT FILE WIDTH
========================
This option allows you to control how "wide" a .RIP file that is
saved by RIPaint can be. Some BBS systems "word-wrap" text that is
sent to the Terminal system. If a .RIP file is too-wide, such that
it gets word-wrapped on one or more lines, you will find that some of
the graphical commands may become corrupted, and will not be
displayed. In addition, you may notice that this is happening if you
see segments of a .RIP file appearing in the Text Window. Use this
option to write your .RIP files so that they do not exceed some
particular line-length. You should set this to one or more
characters LESS THAT the standard "word wrap" column setting for your
BBS system. Lines that are "longer" than this value are "wrapped" to
the next line by RIPaint when it saves to disk. Every line that
needs to be "split up" is done so by placing a backslash (\)
character at the end of each line that needs to be broken up. Any
remaining .RIP code is then saved on then next line.
When you select this option, the following question will appear on
your screen:
How many columns wide should the Scene Output Files be?
You may select any value from 10-32767. Setting a VERY HIGH value
effectively disables the "wrapping" facility. Any value over
approximately 4025 will make it so that a single RIPscrip command
will never be broken up onto more than one line. The largest
RIPscrip command is technically, a polygon with 1000 points.
NOTE: The SET OUTPUT WIDTH value is saved in the Setup
whenever you choose "Save Setup". It is not
automatically saved to the setup when you exit
RIPaint unless you explicitly choose Save Setup.
3.11 - ZOOMING WINDOWS ON/OFF
=============================
RIPaint by default will "zoom" in/out of windows and dialog boxes.
This visually pleasing effect may be undesirable if you want the
paint program to operate as fast as possible. Simply toggle this to
the OFF position and you will no longer see the zooming windows.
3.12 - STATUS LINE TOGGLE
=========================
For your convenience, you may disable the Status Bar at the bottom of
the screen for full screen work. If you save your Current Setup,
this setting is preserved.
3.13 - TOGGLE TOOLBOX ON/OFF
============================
As with the Status Line Toggle ON/OFF, you may also toggle the
Toolbox ON/OFF and save that into the RIPaint Setup.
3.14 - MOUSE REGION BORDERS ON/OFF
==================================
To allow you to visually see where the currently defined "hot" Mouse
Regions are located, RIPaint allows you to highlight any Mouse
Regions defined. You may wish to disable this though, so that you
can see what the scene truly looks like. This setting can be saved
in the setup if you wish for long-term settings.
3.15 - SHOW BORDERS
===================
RIPaint normally shows you where the currently defined Text Window is
located. This text window is where raw text coming across the modem
will be directed. You can re-size this area, re-position it if you
wish and generally control where scrolling raw text will appear in
your scene (if any). To disable this visual aid, simply toggle
Borders Off. You may set this in your Setup if you wish.
3.16 - RESET ALL WINDOWS
========================
This option will zoom the text window to full-screen size, clear the
screen and reset the color palette to the 16 default EGA colors. This
command is saved into your Scene and is recommended for the very
beginning of your Scene (also, get in the habit of setting your Text
Window at the beginning of your Scene).
3.17 - DRAWING MODE
===================
You may specify the drawing mode that you will use for things like
lines, rectangles, etc. Drawing mode governs how the line is to be
drawn. The available drawing modes are NORMAL (copy) and COMPLIMENT
(xor). See section 2.2.4 PASTE MODES above for an explanation of
these two modes.
NOTE: Circles, Arcs and Ellipses cannot take advantage of
COMPLIMENT (xor) mode.
3.18 - LINE STYLE EDITOR
========================
You can edit the way many modes work by modifying the Line Style.
The Line Style editor allows you to pick and choose what types of
lines will be drawn. You can select from various forms of lines like
Dotted lines, Dashed Line, Thick Lines, Thin Lines, or even Custom
Defined Lines.
THICK AND THIN LINE PATTERNS
----------------------------
On the left-side of the Line Editor dialog box are several
choices for "thick" lines. On the right-side are "thin line"
choices.
At the bottom of both the Thick and the Thin line choices you
may notice a set of buttons (possibly blank). These are for
Custom Defined buttons. If you wish to use one of the
pre-defined Line Patterns, simply click on either the Thick or
Thin varieties and you will be returned to the Scene Editor
using that new Line Pattern.
CUSTOM DEFINED "LINE STYLE PATTERNS"
------------------------------------
At the very bottom of the Line Style Editor dialog box, are 16
square buttons side-by-side. These buttons when clicked, create
a custom line "pattern". Each time you click (or un-click) one
of these but- tons, the Thick/Thin Custom Line choices in the
above "choice" areas of the dialog box change. If you are
striving to create your own Custom Defined Line, edit the pixel
buttons at the bottom of the screen and click on either the
Thick or the Thin Custom Lines above when finished. This will
activate your newly created Line Style, and exit the Line Style
Editor so you can continue creating your Scene.
LINE SYTLE PATTERNS AND DRAWING MODES
-------------------------------------
Not all RIP drawing modes use the Line Style the same way.
Consult the following table to determine how certain commands
react when used with Line Patterns:
USES FULL LINE STYLE ... USES ONLY "THICKNESS" OF LINES
==============================================================
LINE Mode CIRCLE Mode (thickness only)
FILLED-BOX Mode ELLIPSE Mode (thickness only)
RECTANGLE Mode ARC Mode (thickness only)
POLYGON Mode ELLIPTICAL ARC Mode (thickness only)
FILLED-POLYGON Mode PIE SLICE Mode (thickness only)
BEZIER CURVE Mode (*) ELLIPTICAL PIE Mode (thickness only)
(*) Any "curved" drawing mode will only use the THICKNESS
option of the Line Style. The only exception to this
is the Bezier Curve which WILL use the pattern, but
not the way you might think. See BEZIER CURVE for
more information.
3.19 - CUSTOM FILL PATTERN EDITOR
=================================
In addition to the 12 pre-defined fill patterns, you may create your
own Custom Defined Fill Pattern if you wish, or load a previously
saved pattern. A Pattern is created with an 8x8 grid of pixels that
make up the actual pattern. This can create many vivid effects in
your scene that can make the difference between an "ok" picture, and
a fabulous picture.
THE PATTERN EDITOR DIALOG BOX
-----------------------------
After Selecting this function from the ToolBox or menu
system, you will be givin a editor with 2 square boxes. The
box on the left is the magnified (fat pixel) blow-up of the
pattern. The box on the right shows an example of what the
pattern would look like if it weren't magnified.
Also on the dialog box are buttons for SAVE, LOAD and NEW.
THE "MAGNIFIED EDITOR" WINDOW
-----------------------------
Place the mouse cursor in the left square and click and
release the right mouse button on the pixel in the square
you wish to turn On or Off. If a pixel is already on,
clicking on it will turn it off, and vice versa. You may
click and hold-down the left mouse button if you wish to
turn ON or OFF several pixels at once. Simply move the
mouse cursor around in the editor window while you are
holding down the mouse button. The first pixel you click
on will determine if the continuous "drag" motion will turn
ON pixels, or turn OFF pixels. Dragging the cursor over
several pixels will NOT reverse their settings. It will
adhere to the "mode" of the first pixel selected.
THE "ACTUAL VIEW" WINDOW
------------------------
As you turn the pixels in the left square on or off, you
can see what the pattern looks like in the right "display
window". This utility is best learned by experimenting with
differrent arrangments of pixels in the 8x8 grid to see
what effect they have on the pattern.
SAVING AND LOADING PATTERNS TO DISK
-----------------------------------
Once you have created a pattern you wish to keep, select the
SAVE button and enter a name for the pattern or select from
the list of names of existing patterns. Note that selecting
and existing pattern from the list will erase the pattern
that was previously saved with that name and give your
pattern that name.
ACTIVATING A NEWLY DEFINED (OR LOADED) FILL PATTERN
---------------------------------------------------
To activate a Custom Fill Pattern, edit it (or load it) and
choose the "OK" button. Your pattern will be recorded and
used in all subsequent fill operations. The newly selected
Fill Pattern is shown on the Status Bar at the bottom of the
screen, in the current fill color and Pattern.
3.20 - MOUSE FIELD EDITOR
=========================
This option will allow you to click inside a previously defined Mouse
Region and alter the aspects of that particular region. You may
alter the text that is sent to the BBS, whether it should be inverted
or not, as well as whether to zoom/clear the text window after being
clicked. This makes changing your scenes' click regions fast and
easy in the event you change the underlying structure of your BBS.
NOTE: You are allowed up to 128 simultaneous Mouse Regions.
3.21 - KILL ALL MOUSE FIELDS
============================
This command will insert a RIPscrip sequence into your existing scene
to delete all previously created Mouse Regions/Buttons. This is
primarily for use if you are customizing your system extensively and
need the sequence to delete mouse regions currently defined. Once
you choose this option, the following question will be presented:
Destroy All Mouse Regions? Are you sure?
If you choose YES, then a "Delete Mouse Fields" RIPscrip command is
entered in your scene. Note, that if you scene actually has Mouse
Regions and/or Buttons defined in it, they are not removed from
the scene; they will remain there, but will be unusable after the
completion of this KILL MOUSE FIELDS command.
NOTE: A "Destroy Mouse Regions" RIPscrip command is
automatically added to the beginning of every
.RIP file you save as a precautionary measure.
If you do not wish to have this command in a
.RIP file (ie, you want to chain files together
on your system), edit the .RIP file with any
standard Text Editor, and remove the command
on the first line:
!|1K|
If the first line contains more information
than this, like the following,
!|1K|c01|r0A3F0L2G
You simply need to remove the |1K starting in
column #2. So, in this example, the entire
line would appear like this after editing:
!|c01|r0A3F0L2G
3.22 - ZOOM MODE: ICON EDITOR
=============================
This is probably one of the most useful features of RIPaint. This
Icon editor allows you to edit Icons in a "zoomed" mode for fine
detail work. Several other options allow you to manipulate the image
in a variety of ways.
COLOR SELECTION BUTTONS
-----------------------
From within this dialog box, you have a palette of 16 color
boxes to choose from for editing individual pixels. These
color icons do not alter the current drawing color when
OUTSIDE the Icon Editor; they are strictly for use within
the Editor.
SAVING YOUR ICON TO AN ICON FILE
--------------------------------
Another option, SAVE, allows you to write the currently
zoomed-in Icon to a disk .ICN file for later use.
REPLACING ALL OCCURENCES OF ONE COLOR WITH ANOTHER
--------------------------------------------------
The REPLACE button permits you to replace all occurrences of
a particular color with another color. This offers fast
changes of color so you can try out different things.
Immediately after you select the REPLACE command, a pop-up
color dialog appears allowing you to specify the color to
replace. When this color has been selected, you are the
then prompted to select the color that you wish to replace
this color with. A similar color Dialog Box will appear
for the new color. Select the new color and the Editor
will take care of the rest. It will scan through every
pixel in your image and convert all occurences of the old
color with the new one.
This can be a very handy technique if you're trying to see
how an image would look if it were done in a particular
color combination. If you are dabbling with color combi-
nations, be sure not to replace one color to a new one that
already exists in the image. If so, it will not be
possible to "change" the previous color to something new
without affecting another area of the image (that you
didn't intend on changing).
NOTE: There is no UNDO ability in the Icon Editor.
SAVING AN ICON TO THE "C" PROGRAMMING LANGUAGE FORMAT
-----------------------------------------------------
One final, hidden option is the "Save to C format". This
option is of use primarily for C programmers using the
Turbo C programming language. This command will physically
save the Icon Contents to a .SPC file in your CSPRITES
directory. The contents of this file are an "unsigned
char" array that can be then utilized with the Turbo C
built-in command putimage(). This allows you to link in
Icons directly into your .EXE file without having to load
them from disk prior to stamping them on the screen.
AUTO-MAGNIFICATION ADJUSTMENT
-----------------------------
As a point worth mentioning, the Zoom window will attempt to
zoom the screen as large as possible, thus giving you the
biggest pixels for easier editing. The larger the zoomed
area, the smaller (in general) the pixels will be in the
dialog box.
ICON MASK CREATION
------------------
An icon "mask" is like a "cookie-cutter" for your Icon,
allowing you to load an Icon in such a way that it has an
irregular outline. You get to specify one color in the
Icon that is to be "invisible". This invisible color is
not drawn when the Icon is stamped on your scene, revealing
the graphics that were behind it through these "invisible
areas". For instance, a company logo can be placed over an
existing graphics image and be trimmed to the edge of the
logo. This also allows holes to be created in the image
such as the hole in a the captial "A" would "show through"
whatever was originally behind it.
To create a icon mask, select the "MASK" button when in the
Icon Editor. You will then be asked to select the color
that is to be made invisible, such as "Blue". The Editor
will scan through your image for Blue pixels and convert
any Blue pixels to WHITE, and any non-Blue colors to BLACK.
This would produce an effect similar to the following:
Original Image Mask Image
_____________ _____________
| | |#############|
| | |#############|
| ~~~~~ | |#### ####|
| ~~ ~~ | |### ###|
| ~ O O ~ | |### ###|
| < - > | |### ###|
| \---/ | |#### ####|
| \_/ | |##### #####|
| | |#############|
| | |#############|
------------- -------------
Because the Editor converts all non-Invisible colors to
Black, it must also check to see if there are BLACK pixels
in your scene (providing you didn't say make BLACK
invisible). If there are Black pixels, and the Invisible
color is not black, it will prompt you with the question:
Image contains XXX Black pixels. Include them in Mask?
If you specify YES, then all the Black pixels will also be
included in the invisible areas. Specifying NO, treats the
black pixels just like any other non-invisible color. If
you do not include Black in the Mask, the Editor will ask
you to select a color to convert the black pixels to BEFORE
converting the image to a Mask. This becomes necessary
because the Editor must scan through the image several
times to create the mask and it needs to know as much infor-
mation about the color-scheme as possible before completing
the conversion.
After this, you will notice the image being converted to
black and white which is the masking image. Once the
conversion is complete, you should save the mask image with
the same name as the original icon only with a .MSK
extension (this is only a recommendation - it helps you to
keep track of icons and masks).
When you load this mask image first before you load the
original icon in the same spot, the color you selected to
be invisible will not show up -- because it is invisible!
NOTE: Be VERY sure to save your original Icon
before you create your Mask (if you
haven't done so previously). Otherwise,
your original Icon might be lost in the
conversion process.
SPECIAL ICON MASK INVISIBLE COLORS - NON-BLACK
----------------------------------------------
If you have chosen to NOT make BLACK pixels part of the
Mask, you will be reminded after converting your image that
you should change the "Invisible Color" in the original Icon
to black. This may seem a bit "odd" at first, but this is
very necessary in order for your Mask to work properly.
Even if your original icon contains black pixels before you
convert the invisible color to black, this will not affect
the final Mask/Icon placement.
MAKING ICONS PART OF YOUR SCENE - READ THIS CAREFULLY!
------------------------------------------------------
Making changes in the Icon Editor does NOT save them your
Scene file! This may seem a little strange at first until
you understand the reasoning - an Icon is physically part
of your Scene if you have performed a "Load Icon" command
and stamped it on the scene. Each time the scene is
redrawn, it re-loads the Icon off disk and stamps it on the
screen as part of the redraw-process. If you zoom in on an
Icon Area and make some changes, you SHOULD save those
changes from within the Icon Editor. If you have not
loaded that Icon onto the scene (by stamping it physically
with a LOAD operation), then if you redraw the screen your
Icon changes will vanish! If you physically load an Icon
into your scene, then later on, make modifications to the
Icon and Save the Icon from within the editor, when you
re-draw the scene, the new Icon will appear. This slightly
confusing issue is characteristic of the "object oriented"
nature of RIPaint. RIPaint does not preserve "Images" per-se,
so much as it does Objects. An Icon CAN be an Object, IF
you load it into the scene (thus instructing RIPaint to treat
the Icon as an Object). It is still your responsibility to
save anything you do in the Icon Editor to an external Icon
File before you exit.
EXITING THE ICON EDITOR
-----------------------
To deactivate the zoom window, press the Escape key on the
keyboard.
3.32 - LOAD AN ICON
===================
When you choose this option, you will be prompted to enter a filename
to enter. This file will be an Icon File (.ICN). The Icon will be
loaded into memory. After you choose an Icon filename, the following
question will appear on your screen:
Put Icon on Clipboard as well?
If you specify YES to this question, then the given Icon will auto-
matically be placed onto the Clipboard, discarding any previous
image that might have been on it (if any). If you specify NO, then
the current Clipboard contents will be untouched.
NOTE: Specifying NO requires extra RAM to load the image.
If your memory is running low, you may get an error
message saying "Insufficient Memory".
Once you have chosen whether to place the Icon onto the Clipboard
or not, you are then allowed to stamp the image onto the screen.
A rectangle will appear on your screen exactly as large as the
Icon, which you may place anywhere you wish. Simply click the
Left mouse button when you have placed the rectangle where you
want the Icon to be.
Next, a list will pop-up asking which "Paste Mode" you wish to
use for this Icon. Under most circumstances, simply choose
"Normal". If PASTE-LOCK mode is on, this pop-up list will not
come up, because it will take the setting for the Paste Mode
directly from the Paste-Lock setting.
3.24 - RESIZING THE TEXT WINDOW
===============================
Since RIPaint is designed for the Sysop of a BBS, it needs to be able
to specify where normal TEXT should be placed on the screen. By
"normal text", we mean things like BBS help screens, simple text
menus, prompts, or other such things that cannot be (or have not
been) converted to RIPscrip graphics. The text window is normally
hilighted on the screen as a light-gray dashed box.
All Text (ASCII/ANSI) will be directed to this window from the moment
you re-size it on. All ANSI commands supported by the MS-DOS driver
ANSI.SYS are supported in this text window (it is NOT VT-100/102
compatible). You may make the window as wide or as tall as you wish
such that it does not extend beyond the edge of the screen. If any
ANSI escape sequences would otherwise take the cursor off the screen,
it will be stopped at the edge before any ANSI text operations are
performed.
Immediately after choosing this option, you are prompted as to what
size System Font to use in this window. There are five choices that
you may select from:
MAX
# FONT DESCRIPTION ... CELL-SIZE ... DIMENSION
-------------------------------------------------
1. Normal Font ... 8x8 ... 80x43
2. MicroANSI Font ... 7x8 ... 91x43
3. Normal Font ... 8x14 ... 80x25
4. MicroANSI Font ... 7x14 ... 91x25
5. Normal Font ... 16x14 ... 40x25
Each font has different uses, looks & feels. In the above table, the
"Cell-Size" is mentioned. This is important to the dynamics of the
System Font. RIPterm normally displays its text in an 8x8 character
cell, meaning there are 8 pixels wide per character, and 8 pixels
tall. With 640x350 resolution, this works out to 80 columns of text
horizontally, and 43 lines vertically. By altering the Cell-Size of
a Font, you can get more columns per line, or taller/shorter fonts.
The key aspect of the "MicroANSI" fonts (ie, Narrow System Fonts),
is that you can easily obtain an 80x25 screen inside a window, that
is smaller than the full-width of the monitor! This becomes very
important if you wish to put a text editor in a window, leaving a
border around it, and potentially buttons on either the LEFT or RIGHT
side (or both). With an 8x8 cell font, this would be impossible
since column #1 would begin at the VERY FAR left of the screen, and
the 80th column would be at the very FAR RIGHT. Using a narrow font
cell allows you to have a margin on either side. The 8x14 and 8x17
fonts are for 80x25 and 91x25 fonts, which provide a more traditional
look & feel to the caller (much like MS-DOS's normal 80x25 mode).
After you choose which System Font to use for the text window, you
are allowed to select the area on-screen where you would like for the
text window to appear. Click the left mouse button where you want
the upper-left corner of the Window to be, and "drag" the window down
to the right-side. As you drag-out the rectangle, you will see where
every character "cell" is located in the window, and in the lower-
right corner of the screen you will see a readout informing you how
many rows/columns the window is (so far). An example of how this
might look is as follows:
_____________________________
|| | | | | | | | | | |
||__|__|__|__|__|__|__|__|__|__|
|| | | | | | | | | | |
||__|__|__|__|__|__|__|__|__|__|
|| | | | | | | | | | |
||__|__|__|__|__|__|__|__|__|__|
|| | | | | | | | | | |
||__|__|__|__|__|__|__|__|__|__|
|| | | | | | | | | | |
||__|__|__|__|__|__|__|__|__|__|
|| | | | | | | | | | |
||__|__|__|__|__|__|__|__|__|__|
(10x6)
As you can see in the above diagram, it is easy to pin-point exactly
how text will be sized in your window. You may notice the vertical
line on the left-side of the grid? That line may or may not show up
on your screen; whether it does or not depends on which font you
chose. Any System Font that is 8-pixels wide will not display this
"margin" line. The margin line is a visual queue to you, the
painter, that there is a "scrolling margin" on that edge of the
window. A scrolling-margin is something that the Terminal program
has to do to scroll the graphical window as quickly as possible.
The software in RIPterm can only scroll text on even 8-pixel
boundaries. So, if the text window doesn't start exactly on an even
8-pixel boundary, a margin is put on the Left and/or Right sides so
that the area IS exactly 8-pixels. There may be a scrolling margin
on both the Left and Right sides of the window, or not at all.
When you are satisfied with the orientation of your Text Window,
simply release the left mouse button. Immediately after you have
finished placing the window, a Dialog Box will appear asking you:
How should long lines in text window be handled?
<WRAP> <CHOP>
You are presented here with two choices, "WRAP" and "CHOP". If you
choose the WRAP option, then any lines of text that are too wide
to fit on one line of the text window are "wrapped" to the next text
line. If you specify CHOP, then the remainder of the line will be
chopped-off, and the extra text on the right of the window's edge
will not be displayed.
The Text Window will remain in effect until either:
1. Another RIPscrip sequence changes it's location, or
2. The User chooses "Reset Windows", where the text
window will be zoomed full-screen and the default
System Font he/she likes the most will be used, or
3. A "RESET WINDOWS" RIPscrip command is sent to the
terminal (this would function exactly the same as
item #2 above).
Some distinction needs to be made between the terms Text Font, and
System Font. A Text Font is one of the available Fonts that you
may choose from when you are placing "graphical text" on the screen.
A System Font is one that is used ONLY in the Text Window. Any
standard ASCII/ANSI text that comes across the modem connection
that is NOT a RIPscrip command sequence is AUTOMATICALLY displayed
in the text window (if active), using the current System Font, not
the current Text Font.
NOTE: All System Fonts are stored in the file RIPFONTS.FNT
on RIPterm systems.
4.0 - PULL-DOWN MENU SYSTEM
===========================
Practically 100% of every feature in RIPaint can be access from the
pull-down menu system.
The pull down menu system is activated by pressing and holding the
right mouse button down. You will notice the menu bar appear at the
top of the screen. While holding down the right mouse button, move
the mouse cursor to the top of the screen and position it over any of
the displayed function catagories. When the mouse cursor is position-
ed over any function catagory, a listing of features available in
that catagory will appear below. Still holding the mouse button down,
move the cursor down to the option you wish to choose and release the
mouse button to activate it.
4.1 - THE "PROJECT" MENU
========================
ABOUT RIPAINT
-------------
Display a copyright screen for RIPaint.
LICENSE INFORMATION
-------------------
This option will display the software Registration.
HELP ON MENUS
-------------
The pull down menu system is activated by pressing and holding
the right mouse button down. You will notice the menu bar appear
at the top of the screen. While holding down the right mouse
button, move the mouse cursor to the top of the screen and
position it over any of the displayed function catagories. When
the mouse cursor is positioned over any function catagory, a
listing of features available in that catagory will appear
below. Still holding the mouse button down, move the cursor down
to the option you wish to choose and release the mouse button to
activate it.
GENERAL HELP
------------
This option displays the TABLE OF CONTENTS for the online help
system. From here, you can begin to navigate through the help
screens to find out more detail on the paint system and all of
its functions.
Help is always available on a specific function or feature by
hitting the "F1" key when any of the drawing or painting
functions are active.
CURRENT HELP
------------
This menu option displays the currently active help message for
the active feature selected.
NEW
---
Selecting this option will clear the editor of all the current
objects in the scene and reset the system colors, patterns and
LINE styles to the default settings.
Use this option when you want to start with a fresh screen for a
new drawing or graphics image.
If a Scene exists on the drawing board that hasn't been saved
yet, the following questions will pop-up:
Erase all objects and Start Over
This message allows you to confirm whether the scene is to be
cleared of all the screen objects and the Paint settings should
be reset to their default values. Selecting "YES" will continue
with the erase function and reset the paint environment.
Selecting "NO" will cancel this operation and return the user to
the current scene with all of the objects and features intact.
LOAD SCENE...
-------------
Selecting the "Load Scene" option will activate the scene file
browser to allow you to easily view and select previously saved
scene files to load into the editor.
If you have a scene already loaded, the following question will
appear on the screen:
Append New Scene or Erase Old
Selecting "ERASE" to this prompt will erase all the existing
objects in the current scene and then load the objects contained
in the scene selected in place of the original scene.
Selecting "APPEND" to this prompt will keep the current objects
in the scene and add the objects from the new scene to them.
This allows the user to load several scenes together or to
create object files that can be used over and over in new scenes
the user is creating.
NOTE: You cannot APPEND one file onto the end of another
file if the original Scene contains Mouse Regions.
If you choose NOT to APPEND the new file onto the end of the
old one, and your previous Scene has not yet been saved, you
will be prompted with the following question:
Save Scene before loading new?
If you specify NO to this question, all of your previous work
will be lost. If you select YES, a file-browser will appear
allowing you to enter a filename to save. Tapping <ESCAPE>
at this prompt question, will break out of the Load mode, and
return you to your previous scene.
SAVE SCENE...
-------------
Selecting the "Save Scene" option will activate the scene file
browser to allow you to easily view and save you current scene
to a RIP file or select from previously saved scene files to
overwrite with your current scene.
Enter the filename you wish to call your current scene in the
bottom bezeled box within the file browser then click the "OK"
button.
To overwrite an existing scene with your current scene, just
click on an existing file name in the list of previously saved
scenes and the current scene will be saved to that name.
WARNING! all the objects that were saved in the selected file
name will be erased and the current objects in scene will be
saved to that filename. Be sure you want to erase the previous
objects before overwriting the file.
LOAD ICON...
------------
Selecting the "Load Icon" option will activate the icon file
browser to allow you to easily view the filenames and load any
previously saved icon images.
You can select an icon file for loading by either double
clicking the mouse cursor on the filename in the file browser or
enter the name of the file in the box at the bottom of the file
browser and pressing enter.
When an icon file is selected, the mouse cursor will have a box
attached to it that is the size of the icon image. Position the
box where you want the icon to appear and press the left mouse
button. This will bring up a menu to allow you to paste the
image on the scene in several ways.
COPY MODE
XOR MODE
MASK MODE
etc.
You can select one of these option by clicking on the menu
option you want.
SAVE SETUP
----------
**************************************
* *
* This Page intentionally left blank *
* *
**************************************
EXIT
----
To exit the program and return to DOS, select this option. If
you have an existing Scene on your screen that has not yet been
saved, the following question will appear:
Save Files Before Exiting?
Choosing YES, will pop-up a file browser allowing you to select
a filename to save your scene to. If you choose NO, then your
scene will be erased when you exit RIPaint.
Finally, before actually exiting, you are asked if you truly
want to Exit RIPaint with the following:
Exit To DOS?
Select "YES" to exit to the DOS environment, or "NO" to return
to the paint program.
4.2 - THE "MISC" MISCELLANEOUS MENU
===================================
CHOOSE COLOR
------------
*************************************************
* No help is currenly available on this subject *
*************************************************
MODIFY PALETTE
--------------
*************************************************
* No help is currenly available on this subject *
*************************************************
SET DEFAULT PALETTE
-------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
DEFINE TEXT VARIABLE
--------------------
**************************************
* *
* This Page intentionally left blank *
* *
**************************************
QUERY TEXT VARIABLE
-------------------
**************************************
* *
* This Page intentionally left blank *
* *
**************************************
4.3 - THE "MODES" MENU
======================
LINE
----
To draw a line, select the color of the line with the color
selector, place the mouse cursor at the starting position of the
line. Now, press and hold the button down. move the mouse cursor
to the ending position of the desired line, you will notice a
rubber band like line showing you the current line that would be
drawn if you released the button. When you are satisfied with
the line orientation, release the button to set its postion.
DRAW PIXEL
----------
The pixel command allows the placement of single pixels (one dot
on a computer monitor) to be set to the current DRAWING COLOR.
This allows for fine detailed graphics to be created.
Activate the pixel command by selecting the pixel button from
the ToolBox or highlighting the pixel option from the pulldown
menu system. Once activated, move the mouse cursor to the
desired screen location within the Graphics Window and click and
release the left mouse button to place the pixel.
TEXT DATA
---------
*************************************************
* No help is currenly available on this subject *
*************************************************
RECTANGLE
---------
This feature allows the placment of a color / pattern / none
filled retanagle in the Graphics Window. Once selected, move the
mouse cursor to the position that will be the one of the corners
of the rectangle, press and hold the left mouse button and move
the mouse to the position that is to be the adjacent corner of
the rectangle, you will see the rectangles shape at all times
when moving the mouse. When the desired shape is reached,
release the mouse button to set the rectangles position. The
rectangle will be automatically filled with the any selected
pattern and color if these have been selected.
CIRCULAR ARC
------------
To draw and arc, activate the arc option on the toobox or in the
pulldown menu system. Move the mouse cursor to the screen
position that will be the center point the arc will be based
around. Click and release the left mouse button to set the
center point. Then, move the mouse cursor to the point where the
arc will start. Click and hold the left mouse button to set the
starting arc point and move the cursor to the ending arc point
before releasing the mouse button to draw the arc.
POLYGON
-------
This feature is used to create irregularly shaped object by
plotting points on the screen that are connected by lines. Once
this option has been selected, move the mouse cursor the
position the first point is to be placed. Click and release the
mouse button to set the first point of the POLYGON, continue to
move the mouse cursor to the next position and continue clicking
and releasing the mouse button to set the next point. When the
desired shape has drawn, click the right mouse button to set the
shape of the POLYGON. Any FILL PATTERN and FILL COLOR that is
active will be used when the POLYGON has been set.
FILLED BAR
----------
This feature allows the placment of a color / pattern filled
rectangle in the Graphics Window. Once selected, move the mouse
cursor to the position that will be the one of the corners of
the rectangle, press and hold the left mouse button and move the
mouse to the position that is to be the adjacent corner of the
rectangle, you will see the rectangles shape at all times when
moving the mouse. When the desired shape is reached, release the
mouse button to set the rectangles position. The rectangle will
be automatically filled with the any selected pattern and color
if these have been selected.
The color of the bar is selected by the FILL COLOR button, the
bar does not have a OUTLINE COLOR like the Rectangle command.
CIRCLE
------
A circle is currently drawn by sizing a square on the screen
that the circle will fit exactly into.
To begin drawing a circle, place the mouse cursor at the upper
left corner of the rectangle that will help indicate the size of
the circle. Press and hold the left mouse button and move the
cursor to the lower right postion of the sqaure. The square will
continue sizing itself until the desired size has been reached.
Once the requested size has been reached, release the mouse
button to set the size of the circle in place. Then circle will
use the current FILL COLOR/FILL PATTERN/OUTLINE COLOR when the
FILL MODE is active. Otherwise, and outline of the circle will
drawn with the current DRAWING COLOR.
ELLIPSE
-------
Drawing and ellipse is accomplished by selecting the Ellipse
button on the ToolBox or selecting the ellipse command from
pulldown menu system. Once activated, move the mouse cursor to
the position that is to be the upper left corner of the
rectangle that is drawn to size the ellipse being created. Press
and hold the left mouse button and move the mouse to the
position that will be the lower/right extent of the ellipse. The
ellipse will fit exactly into the retancle that is on the screen
when the mouse button is released. When you are satisfied with
the size of the rectangle, release the mouse button to set the
size and shape of the ellipse. The ellipse will use any OUTLINE
COLOR FILL COLOR and FILL PATTERN when drawn if these have been
previously activated.
FILL REGION
-----------
*************************************************
* No help is currenly available on this subject *
*************************************************
COPY TO CLIPBOARD
-----------------
This command allows a section of the screen to be loaded into
the paint programs clip buffer. This clipped region can then be
placed (pasted) at other location in the Graphics Window.
Select the copy to clipboard button to activate the command.
Once selected, place the mouse cursor in the position that will
the upper left corner of the region that is to be copied to the
clip buffer. Press and hold the mouse button and move the mouse
pointer to the lower right corner of the region that is to be
clipped. A rectangle showing the currently selected clipping
area will be shown while the mouse button is depressed. Release
the mouse button when the desired region is attained. The
section of the screen that was outlined will be copied to the
clipboard and will be used when the PASTE function is active.
PASTE CLIPBOARD
---------------
After selecting the area of the screen to COPY TO CLIPBOARD the
clipped area of the screen is stored in the clip buffer. To
paste a copy of the buffer to a new screen location, select the
paste from clipboard command, then press and hold down the right
mouse button, you will see a rectangle appear at the cursor that
is the size of the clipped image. While still holding the mouse
button down, move the rectangle to the area of the screen it is
to be pasted. When you are satisfied with the placment, release
the button to set the clip image in place. A menu will then
appear that allows the image to be placed in several different
ways:
NORMAL: Will overwrite any image that was previously at that
screen region, erasing the old image completely.
XOR :
AND :
OR :
MASK :
ZOOM MODE
---------
Activate this function by selecting the zooming square button
from the ToolBox. Once activated, move the mouse cursor to the
screen area that is to be the upper left corner of the icon
area. Press and hold the left mouse button and move the mouse
cursor the screen area that is to be the lower right corner of
the icon area. A rectangle will continuously be drawn to show
the area that will be zoomed. When the user is satified with the
size of the zoom region, release the mouse button to activate
the zoom window/icon editor.
Once the zoom window is active, the user will be shown an
enlarged section of the selected screen region. This allows for
detailed editing of the screen at the pixel level.
Movement and color selection tools are available in the editor
to change color and screen postion without leaving the zoom
window.
Several Advanced Features are located in the Zoom Editor:
MASK - Icon Mask Creation
REPLACE - Icon Color Replacement - Original
REPLACE - Icon Color Replacement - New Color
To view the original screen, press the space bar to temporarily
remove the zoom window from the screen. Pressing the space bar
again returns the user to the zoom window.
To deactivate the zoom window, press the Escape key on the
keyboard.
MAGNIFY
-------
For a magnified view of a specified area of the screen, select
the Magnifying Glass from the ToolBox and place the mouse cursor
on the screen region that is to be the upper left corner of the
magnied area. Press and Hold the left mouse button and place
the mouse cursor at the screen location that is to be the lower
right corner of the. A rectangle will be continuously drawn as
the you move the cursor to the lower right location to show
the current size of the magnify area. Once you are satisfied
with the size and shape of the region, release the mouse button
to activate the magnify window for the specified area.
The paint system will bring up a window that shows an enlarged
image of the specified screen area.
This allows the user to examine drawings very closely when
working with highly detailed or complex scenes.
MOUSE AREA
----------
After selecting this option, move the mouse cursor to the screen
postion that is to be the upper left corner of the rectangular
area you want to be activated with a mouse Press and hold left
mouse button and move the cursor to the bottom right corner of
the new mouse activate area. Release the mouse button when you
have made the shape of the rectangle the size you want, this
will set the active mouse area in place. You wil then be
prompted to enter the text string that will be sent back to the
HOST/BBS, such as "GO EMAIL", "EXIT" or "YES". Hit the return
key when you have entered the text string to complete the
process.
IMPORT TEXT...
--------------
The IMPORT TEXT feature allows ASCII text files that have been
created from word processors and editors to be read onto the
screen and justified within a specified area.
Start by moving the mouse cursor to the upper left corner of the
area that is to be the text import region. Press and hold the
left button and move the cursor to the postion that will be the
lower right corner of the text area. A rectangular area will be
continuously drawn as you move the mouse cursor. When you are
satisfied with the size and shape of the text area, release the
mouse button to set its shape. A browse list of the available
files for importing will be display, allowing the user to select
the document to import. After selecting the file the text from
the document will be formatted to fit into the specifed text
region. If the document is longer than the window can hold, the
file will be truncated at the bottom of the text region.
This functino will use the current Font Style and size when
importing the text into the specified region.
BEZIER CURVE
------------
**************************************
* This Page intentionally left blank *
**************************************
ELLIPTICAL ARC
--------------
**************************************
* This Page intentionally left blank *
**************************************
PIE SLICE
---------
**************************************
* This Page intentionally left blank *
**************************************
ELLIPTICAL PIE SLICE
--------------------
**************************************
* This Page intentionally left blank *
**************************************
4.4 - THE "OPTIONS" MENU
========================
UNDO!
-----
This command deletes the last object that was added to the
scene. Continuing to select this command will continue deleting
objects from the object list in the reverse order that they were
added. All the objects can be deleted on by one until the scene
is completly empty.
REDRAW
------
This function clears and redraws the current objects loaded into
the scene back to the screne again. This allows you to play back
what you have created so far to see how it will look as the
scene draws itself to the screen.
OBJECTS
-------
Every function or event that is executed in the paint system is
considered an object and is recorded in a list, the OBJECT LIST.
This list can be viewed by pressing the Control key and "O" key
at the same time. This list shows all the objects on the screen.
STATUS LINE
-----------
The status line is located at the bottom of the screen and is
activated and deactivated by pressing the space bar.
This display shows the status of several of the modes and
commands in the system:
DRAW MODE
FILL MODE
Font Style
LINE STYLE
DRAWING COLOR
FILL COLOR
FILL BORDER COLOR
As you change the status of these functions their new status
will be reflected on the STATUS BAR.
TOOLBOX
-------
The toolbox is a shortcut to several of the major commands that
are available in the RIPaint system. It can be activated and
deactivated by pressing the TAB key. Selecting any of the
options on the toolbox is accomplished by pressing the right
mouse button when the mouse cursor is postioned over the option
that is to be activated.
Additional help is available on any of these commands by
pressing the F1 key when the option has been activated with the
mouse.
LEFT MOUSE BORDER
-----------------
This function allow the user to limit how far to the left edge
of the screen the mouse cursor is allowed to go. It is used for
high precision vertical and horizontal placement of objects on
the screen.
To activate this function, select the Left Mouse Border option
from the pull down menu system. Once activated, a vertical line
will appear at the location of the current left mouse border
setting. The mouse cursor will be placed on this line and will
allow the user to move the cursor to the right or left to
position the border. Once the position of the new left mouse
border has been reached, pressing and releasing the right mouse
button will set its position.
RIGHT MOUSE BORDER
------------------
This function allow the user to limit how far to the right edge
of the screen the mouse cursor is allowed to go. It is used for
high precision vertical and horizontal placement of objects on
the screen.
To activate this function, select the Right Mouse Border option
from the pull down menu system. Once activated, a vertical line
will appear at the location of the current right mouse border
setting. The mouse cursor will be placed on this line and will
allow the user to move the cursor to the right or left to
position the border. Once the position of the new left mouse
border has been reached, pressing and releasing the right mouse
button will set its position.
TOP MOUSE BORDER
----------------
This function allow the user to limit how far to the top edge of
the screen the mouse cursor is allowed to go. It is used for
high precision vertical and horizontal placement of objects on
the screen.
To activate this function, select the Top Mouse Border option
from the pull down menu system. Once activated, a horizontal
line will appear at the location of the current top mouse border
setting. The mouse cursor will be placed on this line and will
allow the user to move the cursor up and down to position the
border. Once the position of the new top mouse border has been
reached, pressing and releasing the right mouse button will set
its position.
BOTTOM MOUSE BORDER
-------------------
This function allow the user to limit how far to the Bottom edge
of the screen the mouse cursor is allowed to go. It is used for
high precision vertical and horizontal placement of objects on
the screen.
To activate this function, select the Bottom Mouse Border option
from the pull down menu system. Once activated, a horizontal
line will appear at the location of the current bottom mouse
border setting. The mouse cursor will be placed on this line and
will allow the user to move the cursor up and down to position
the border. Once the position of the new bottom mouse border has
been reached, pressing and releasing the right mouse button will
set its position.
RESET MOUSE BORDER
------------------
This will reset the top/bottom/right/left mouse borders to their
default settings, which is the maximum paint area.
GRID SNAP
---------
*************************************************
* No help is currenly available on this subject *
*************************************************
RESET SNAP
----------
*************************************************
* No help is currenly available on this subject *
*************************************************
LINE STYLE
----------
The custom line style editor allows you to select from several
built in line styles or define a custom line style to be used on
functions that use lines or have borders.
RECTANGLE
CIRCLE
LINE
POLYGON
You can choose one of the default line styles from the menu by
clicking the right mouse button on the line style displayed in
the uppper part of the editor, then clicking the "OK" button at
the bottom of the editor.
If you wish to create a custom line style, simply click the
right mouse button when the mouse cursor is positioned on any of
the small square buttons near the bottom of the line style
editor. You should notice the 2 bottom line style selectors that
were probably previously blank will now show you that line you
are creating the line selector on the left of the menu is the
thin version of your custom line and the right selector is the
thick version of your custom line. Activate or deactivate the
small buttons until the desired line style is acheived. At this
time you can save the line style to a file to load later or use
it in you current drawing with any of the commands listed above.
DRAW "WRITE" MODE
-----------------
*************************************************
* No help is currenly available on this subject *
*************************************************
DESTROY CLIPBOARD
-----------------
Activating this command will clear the contents of the clipboard
which contains the screen section last specified with the COPY
TO CLIPBOARD command. If the user receives a insufficient memory
error when using any of the commands in the paint system,
clearing the clipboard with this command may resolve the
problem.
WRITE ICON TO DISK
------------------
**************************************
* This Page intentionally left blank *
**************************************
SET OUTPUT WIDTH
----------------
This option allows you to control how "wide" a .RIP file that is
saved by RIPaint can be. Some BBS systems "word-wrap" text that
is sent to the Terminal system. If a .RIP file is too-wide,
such that it gets word-wrapped on one or more lines, you will
find that some of the graphical commands may become corrupted,
and will not be displayed. This command will allow you to change
how wide a .RIP file can be so that you can avoid this problem.
ZOOMING WINDOWS ON/OFF
----------------------
**************************************
* This Page intentionally left blank *
**************************************
PASTE LOCK MODE
---------------
**************************************
* This Page intentionally left blank *
**************************************
REDRAW (STEP)
-------------
**************************************
* This Page intentionally left blank *
**************************************
CLIPBOARD LOCK MODE
-------------------
**************************************
* This Page intentionally left blank *
**************************************
CURVE SMOOTHNESS
----------------
The "Bezier Curve" function of RIPaint is designed to give you
smooth "flowing" curves. However, for computers without a
Math Co-processor, the User may observe a distinct Slowness in
drawing a Bezier Curve. This is due to the number of points
that are calculated to draw the curve. The more points in a
curve, the "smoother" its curve appears. The fewer points
used, the most "segmented" the curve appears. Here's an
example of a "smooth" and a "segmented" curve:
SMOOTH (sort-of) SEGMENTED
.... ___
. . / \
: . / \
. . . / |
. . . \ _/ |
.. : . \ / \
.. . \ / \
... \_____/
Points = 26 Points = 10
There is no hard and fast rule how many points you should use
for a given Bezier Curve. However, a good guildeline is to
consider how "large" the curve is - just how big is it on
screen? A very small bezier curve can get away with just a
few points, while a very large, potentially complex curve
would want to have a good number of points (20-40). Try
experimenting with the values to get what you want. Do keep
in mind that the speed at which a Bezier Curve is drawn is
a factor both on the speed of the PC drawing the Curve, and
also whether or not a Math Co-processor is present. For
systems with a Math Co-processor, display is lightning-fast.
NOTE: Bezier Curves are one of the only RIPscrip
drawing modes that is affected by the presence
of a math co-processor. All other commands
do not notice any substantial improvement in
drawing performance.
4.5 - THE "FILL" MENU
=====================
FILL INFO
---------
*************************************************
* No help is currenly available on this subject *
*************************************************
TOGGLE FILL ON/OFF
------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
FILL COLOR SELECT
-----------------
*************************************************
* No help is currenly available on this subject *
*************************************************
FILL BORDER SELECT
------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
FILL PATTERN SELECT
-------------------
This feature will activate the file browser for the previously
saved custom FILL PATTERNs. Select the file for loading by
double clicking the mouse on the filename or entering the
filename in the lowest text box on the file browser. Once the
pattern has been loaded, you can use it as the FILL PATTERN with
any of the commands that support the fill option.
EDIT FILL PATTERN
-----------------
*************************************************
* No help is currenly available on this subject *
*************************************************
LOAD PATTERN...
---------------
This feature will activate the file browser for the previously
saved custom FILL PATTERNs. Select the file for loading by
double clicking the mouse on the filename or entering the
filename in the lowest text box on the file browser. Once the
pattern has been loaded, you can use it as the FILL PATTERN with
any of the commands that support the fill option.
SAVE PATTERN...
---------------
*************************************************
* No help is currenly available on this subject *
*************************************************
4.6 - THE "FONTS" MENU
======================
FONT STYLE
----------
Several built in font styles are available in the paint system.
The user can choose from these by selecting the FONT STYLE
option from the main menu. A pick list of the available fonts
will then be displayed on the screen for the user to select
from. Select the desired font by moving through the picklist
with the UP/DOWN arrows on the keyboard to highlight the font
name and pressing the enter key or selecting the font choice
with the mouse.
An example of the font style is shown on the STATUS BAR at the
bottom of the screen when it is active.
CHOOSE SIZE
-----------
Font Size - 1X
Font Size - 2X
Font Size - 3X
Font Size - 4X
Font Size - 5X
Font Size - 6X
Font Size - 7X
Font Size - 8X
Font Size - 9X
Font Size - 10X
4.7 - THE "MOUSE" MENU
======================
FIELD INFO
----------
*************************************************
* No help is currenly available on this subject *
*************************************************
SHOW FIELDS
-----------
*************************************************
* No help is currenly available on this subject *
*************************************************
EDIT FIELD
----------
*************************************************
* No help is currenly available on this subject *
*************************************************
DELETE FIELD
------------
*************************************************
* No help is currenly available on this subject *
*************************************************
KILL FIELDS
-----------
*************************************************
* No help is currenly available on this subject *
*************************************************
EDIT BUTTON STYLE
-----------------
**************************************
* This Page intentionally left blank *
**************************************
4.8 - THE "WINDOWS" MENU
========================
WINDOW INFO
-----------
*************************************************
* No help is currenly available on this subject *
*************************************************
SHOW WINDOW BORDERS
-------------------
This feature allows toggles the Graphics and Text window borders
ON and OFF. The user can decide wether with border can be seen
or not but it does not affect the way the two windows work.
When viewing scenes on the terminal pregram the window borders
are never scene, so this feature is used for design purposes
only.
RESIZE GRAPHICS WINDOW
----------------------
This function allows the user to resize the window that all the
graphical drawing primitives are based on. Once this option has
been selected, move the mouse cursor to the screen position that
is to be the upper left corner of the graphics window. Press and
Hold the left mouse button and move the mouse cursor to the
screen area that is to be the lower right corner of the graphics
window. A rectangle will continually be drawn as the mouse is
moved to show the current size of the graphcs window as it is
drawn. Once the desired size of the graphics window is reached,
release the mouse button to set the graphics window in place.
**********************************************
*** NOTE: THIS FUNCTION NOT YET FUNCTIONAL ***
**********************************************
CLEAR GRAPHICS WINDOW
---------------------
This function clears any objects or text that fall within the
boundaries of the graphics window. The graphics window will be
cleared with the current background color.
RESIZE TEXT WINDOW
------------------
This function allows the user to resize the window that all the
non graphical strings are based on. Once this option has been
selected, move the mouse cursor to the screen position that is
to be the upper left corner of the text window. Press and Hold
the left mouse button and move the mouse cursor to the screen
area that is to be the lower right corner of the text window. A
rectangle will continually be drawn as the mouse is moved to
show the current size of the text window as it is drawn. Once
the desired size of the text window is reached, release the
mouse button to set the text window in place.
CLEAR TEXT WINDOW
-----------------
This function will clear the current text window of any text
entries allowing the user to start with a clear text area.
DISABLE TEXT WINDOW
-------------------
**************************************
* This Page intentionally left blank *
**************************************
RESET ALL WINDOWS
-----------------
**************************************
* This Page intentionally left blank *
**************************************
RE-ZOOM IN ON LAST EDITED ICON
------------------------------
**************************************
* This Page intentionally left blank *
**************************************
5.0 - BUTTONS AND MOUSE SUPPORT
===============================
One of the advanced features of RIPscrip is the ability to create
Buttons and mouse-areas on screen that can do something when
clicked. There are two styles of mouse regions, a no-frills Mouse
field, and a custom Button command. Each of these two mouse
commands has specific purposes.
5.1 - SIMPLE MOUSE FIELDS
=========================
A simple mouse field requires NO image to be created or any Icons to
be used. It is designed for a "generic mouse field" that can do what
you want when you click on it. A Mouse Field can be invisible if you
wish, or if you place it on top of some kind of graphics, then it can
have some sort of image associated with it. A Mouse Field is by
itself, invisible.
When you choose Mouse Field mode, you are allowed to hilight a
rectangular area on your screen which will be the area that the mouse
can click "inside".
Once you drag the rectangle around this area, RIPaint will ask you
what text command you want to send to the BBS if the field is
clicked. This text command can be any text that you wish, including
text variables, pick-lists and control characters. See the following
section (6.0) for more details about these special abilities in Host
Commands.
After you enter a text command to send to the Host, you will be asked
if the mouse region should be "inverted" when you click on it. What
this means is should the area that you hilighted be inversed while
you still have the left mouse button depressed (ie, clicked). This
gives the ability to make the mouse region look like it is physically
being depressed. If you specify NO, then there will be no visual
feedback to the user when he clicks on the area.
The final question prompted to you when defining a mouse field, is
whether or not the text window should be zoomed to full screen and
the screen cleared after this button is clicked. This option becomes
very important if you mouse field will take you to some area on the
BBS that doesn't have RIPscrip support yet, and you want to make the
user interact with the BBS in full-screen text mode. Immediately
after the button is clicked, the screen would be cleared, the text
window made "full screen" using the current System Font that the
User has chosen, and the cursor placed in the upper-left corner of
the window.
If you have "Display Mouse Fields" toggled ON in the MOUSE pull-down
menu, then any Mouse Fields you have created in your scene will be
hilighted so that you can get a good visual idea of where they are
located.
Note, that mouse fields cannot overlap.
5.2 - THE "BUTTON" COMMAND
==========================
Mouse Fields are nice for certain situations, but when you want to
create an actual "button" on the screen, with an image of a button,
a mouse field around it, and some piece of text that is used as a
Label, then you would want to use the Button Command. This command
combines all of these features into one command. In addition to
the above features, it also offers a diversity of other options to
control how the buttons work, appear and how the user can access
them.
Buttons may use any type of Host Command you like (see SECTION 6.0)
including "Command Templates". You can get very fancy with your
Host Commands if you wish, or use simple Host Commands. The choice
is up to you.
There are three types of Buttons that you can use, Icon, Clipboard
or Plain Buttons.
BUTTON HOTKEYS
--------------
Like many other popular GUI environments (eg, Windows, etc),
most Buttons that you see on screen have some kind of keyboard
"short- cut". We call these "hot-keys". You can make hot-keys
for your Buttons in RIPaint as well. When you place your Button
on the screen (either Icon, Clipboard, or Plain), it will ask
you what keystroke should be used to select the Button. You may
enter a single character. You may not use ALT or CTRL key
combinations. Only normal printable characters are allowed as
hot-keys.
Hot-Keys are NOT case sensitive, so if you entered "s" as the
hot-key, then either "S", or "s" will activate it. You may
only use a particular hot-key once in any given scene, thus
limiting your hotkeys to A-Z, 0-9 and the punctuation characters
(which should be plenty!).
5.3 - THE BUTTON DESIGNER
=========================
Because Buttons have so many diverse modes of operation, there is
a Dialog Box designed specifically for controlling how buttons work.
Hitting ALT-T will bring up the Button Designer. This Dialog Box
has a lot of controls on it for doing many things.
The Button Designer looks similar to the following:
--- ---
User Icon ## Dropshadow ## Bright ## Width|100| Height|75 |
Clipboard ## Foreground ## Dark ## --- ---
Plain ## Background ## Surface ##
Label Orientation
Auto-Clip ## Chisel ## --------
Invert ## Recessed ## --- | TOP |
Reset ## Bevel ## Size|3 | -------- -------- --------
Mouse Area ## Sunken ## --- | LEFT | CENTER | RIGHT |
Underline ## Hot Icon ## -------- -------- --------
Radio Grp ## Adj Text ## -- | BOTTOM |
Check Boxes ## Group # |0 | --------
--
------ -------- -------- -------- ---------
| OK | | CANCEL | | LOAD | | SAVE | | DEFAULT |
------ -------- -------- -------- ---------
5.3.1 - TYPES OF "BUTTONS"
==========================
There are actually three types of Buttons. They are Icon Buttons,
Clipboard Buttons, and Plain Buttons. Each of them have their
benefits. Only one of these modes can be used at any one time.
ICON BUTTONS (option "User Icon")
---------------------------------
An Icon Button is a button that uses a particular Icon File
for the image of the Button. When you are in Icon Button
mode, every time you select Button Mode, you will be prompted
to enter an Icon filename to use for the Button. After that,
you may place the icon on your scene anywhere you wish. The
size of the Button mouse field is exactly as large as the
Icon, so there's no muss, no fuss with getting them aligned
perfectly.
Icon Buttons are always stamped in NORMAL MODE. You cannot
use any of the special PASTE LOCK modes on Buttons.
CLIPBOARD BUTTONS (option "Clipboard")
--------------------------------------
A Clipboard Button uses the current contents of the Clipboard
to generate the Button Image. In this manner, you could
easily use a picture that you have loaded onto the Clipboard
as a Button, and keep re-using it for future buttons, thus
saving transmission efficiency (you don't have to transmit
an Icon Filename to the Terminal for EACH button!), and also
improving performance on the Terminal side. Performance
improvements are because the Terminal does not have to access
the hard disk for each button because its image is already
contained in memory on the Clipboard.
Clipboard Buttons are always stamped in NORMAL MODE. You
cannot use any of the special PASTE LOCK modes on Buttons.
PLAIN BUTTONS (option "Plain")
------------------------------
A plain is exactly that, "plain". They do not use any Icon
or Clipboard to make the image of the button. The only
thing that is used for the image is a colored box. The
color of the box would correspond to the SURFACE color
option in the button designer. The box is made exactly as
large as the size of the button. See below for more info
on Surface Colors.
A Plain Button can also use many other special effects
features (described below) to generate the image of the
button.
Plain Buttons can be of any size you want, or they can be
always the same size. The choice is up to you.
5.3.2 - TEXT LABELS
===================
Every Button can have a text "label" associated with it. A Label
is some word or phrase that is used to describe the purpose of
the Button to the user. It can be placed anywhere around the
Button, and you have several options available to you to change
the look and feel of the Label.
Button Labels use the Current Font, and the Current Font Size for
the font of the Label. You cannot specify these values in the
Button Designer. You change the font as you would changing the
font for any graphical text in RIPaint, with the Font Selection
menus.
LABEL COLOR (option "Foreground")
---------------------------------
You may choose what color the text of a Label will be by
clicking on the Foreground button in the Designer. This
will pop-up a color dialog box which you can choose a
color to use for the Label. When you choose a color, it
will be displayed in the Button Designer so you can tell
at a blink of an eye what the Label Color will be.
DROPSHADOWED LABELS (options "Dropshadow" and "Background")
-----------------------------------------------------------
You also have the option of making your label look like
it is 3D. You accomplish this with the "Dropshadow"
feature. This will draw the Label first, using the
"Background" color (ie, the Shadow), then draw the same
label on top of the first one, except one pixel to the
left, and one pixel higher, giving it the impression that
the text is "hovering" above the screen, casting a shadow
on it.
Use the "Background" button to determine what color the
shadow should be. If you have "Dropshadow" disabled,
then the "Background" button does nothing.
LABEL ORIENTATION (options "TOP", "LEFT" ... "BOTTOM")
------------------------------------------------------
These five controls determine where the Label will be drawn
in relation to the actual Button. Here are examples of
what each of these options will do:
Top
--------
| |
--------
-------- -------- --------
Left | | | Center | | | Right
-------- -------- --------
--------
| |
--------
Bottom
TEXT CENTERING ADJUSTMENT (option "Adj Text")
---------------------------------------------
In the above example showing Label Orientation, the options
LEFT, RIGHT and CENTER all center the label "vertically"
next to the button. In that way, the text does not look
like its "too high" or "too low" in relation to the button
it is next to.
In some situations though, especially with larger fonts, you
may notice that text centering just doesn't quite do it right.
This may be particularly evident when you have text with
Descendors. A Descendor is part of a character that goes
below the "baseline" of the text. For example, the letter "y"
has a little "curly-Q" that goes below the baseline, showing
you that it is a "y" instead of a "u" (sort-of). These
descendors are NOT used when "centering" the Label vertically.
When you have two or more buttons side by side with their
label orientation the same, you will notice that all of their
baseline's will "line up". With very large font choices,
those descendors can be quite large, and NOT calculating them
into the total height of the Label might make the text look
not-so-centered. In these situations, choose ADJ TEXT and
the centering will change for those buttons, taking descendors
into consideration when drawing the Label.
HOTKEY UNDERLINING (option "Underline")
---------------------------------------
If you have specified that this Button is to be a "Mouse Area",
then you have the option of underlining the hotkey in the text
label (if it occurs in the label). This gives a good visual
cue to the user what the hotkey is.
If you choose to underline the hotkey character, then when the
Label is drawn, the first occurence of the hotkey character in
the Label (whether upper or lower case), is underlined. It
is smart enough to know which characters have descendors or
not, and the underline is offset accordingly to give a
consistent underline method.
If you have Dropshadow turned on for the Text Label, the
underline will also be dropshadowed.
5.3.3 - BUTTON SPECIAL EFFECTS
==============================
Regardless of whether your button is a Icon, Clipboard or Plain
Button, you may add a number of special effects to the image to
enhance the button, giving it character and a consistent look and
feel for your BBS.
SPECIAL EFFECTS COLORS (options "Bright", "Surface" and "Dark")
---------------------------------------------------------------
All of the special effects options use from 2-3 special colors
to achieve the desired look. These three colors are called
the BRIGHT, SURFACE and DARK colors. If you look around in
RIPaint, you will notice most everything that you can click
on in the paint program is in some way, Beveled, or made to
look like its 3D. We call this look the "chiseled steel"
look, since we tried to make things look like they were made
out of chiseled steel.
On a typical Beveled Button, you will notice that the actual
color of the Button in RIPaint is a light-gray. You will also
notice that there's a bright side to the bevel (White), and
a shadow size (Dark Gray). These colors are used to create
the 3D effect of light, shadow, and surface color. In this
example, BRIGHT=white, SURFACE=light-gray, and DARK=dark-gray.
Each of the Special Effects uses 2 or more of these colors to
draw themselves on your button. You may custom tailor these
colors in the Button Designer to whatever combination you
wish. By default, they are set to the RIPaint colors of
White, Light-Gray, and Dark-Gray.
BEVELED BUTTONS (options "Bevel" and "Size")
--------------------------------------------
You can make any Button "beveled", making it look like someone
took a "Router" to your picture. This gives the impression
that the edges of the button are slanted, and makes it look
more 3D.
You can control the size of the Bevel with the SIZE field.
This numeric field allows you to type in a number from 1-99.
This number represents how many pixels "deep" the Bevel
should be. A one-pixel bevel would show one-pixel-wide bevel
around the Button, whereas say a five-pixel bevel would be
much wider (ie, 5 pixels wide).
Bevels use all three special effects colors to achieve their
effect. The surface color is used on the corners to give a
more "visual" impression that there's an "edge" there.
A good suggestion is to make your bevels small in size for
smaller Buttons. For large buttons (or for making big window
areas), you might want to use larger Bevels for a more
pronounced effect.
Note, if you have Bevel turned on, the size of the button will
actually be LARGER than the actual image of the button. The
Bevel is drawn outside the image, not on the inside. So, if
you are using an Icon Button, NONE of the image of the icon
would be affected by the Bevel. As an example, if you were
using an Icon that was 100 pixels wide, and 50 high, and you
were using a 3-pixel bevel, your Button would actually be
106 pixels wide, and 56 pixels high.
If a Beveled button is also made into a "Mouse Area" (see below),
then the borders of the Mouse Field are also expanded so that
the bevel is part of the Mouse Field as well.
RECESSED BUTTONS (option "Recessed")
------------------------------------
A Recessed button takes the 3D effect even farther. It is
intended for use on Buttons that are to be used in some kind
of Dialog Box design. A Recessed special effect makes the
Button look like it is "cut out" from the surrounding Dialog
Box. Take a really close look at the OK, CANCEL, LOAD and
SAVE buttons on the Button Designer screen. Just on the
outside of the Bevel, is a "reversed bevel" with a black
outline, giving the impression that the Button sticks through
the Dialog Box as if there were a hole punched through the
Dialog Box.
When clicked, a Recessed button will not invert/hilight the
Recess. This is because the Recess actually appears to be
part of the Dialog Box surrounding the button, not part of
the Button itself. The fact that it is a Special Effect
for a Button is unimportant. To achieve a proper visual
effect when clicking the button, the Recess is not part of
the Mouse Field, or part of the "invertable" image of the
Button.
A Recess adds two pixels on either side of a Button, so the
net result is a Button will be four pixels wider and taller.
A Recess has no effect on the size of the Mouse Field for
the Button.
The Recess uses all three special effects colors, and in
addition, uses a black outline between the Button and the
Recess, for a grand total of four colors.
SUNKEN BUTTONS (option "Sunken")
--------------------------------
A Button with the Sunken attribute on, makes the interior of
the Button look like its sunken a little bit from the edges
of the Button. Look at the small square buttons all over on
the Button Designer. They are all "Sunken" in appearance.
The OK, CANCEL and other buttons at the bottom are NOT
sunken.
The sunken attribute does not affect the size of the Button
or Mouse Field in any way. The Sunken effect is drawn
after any Icon or Clipboard is stamped on the screen, and
is drawn one pixel inside the border of the image. In
this effect, the image IS affected by the Sunken attribute.
Effectively one pixel on all four sides of the image are
drawn over with the Sunken feature.
Since the Sunken effect affects the actual image, it too will
be inverted when clicked.
The Sunken effect uses all three special effects colors.
CHISELED BUTTONS (option "Chisel")
----------------------------------
The Chisel Attribute also affects the image of the Button.
This option is primarily used with Plain Buttons as it can
adversely affect an Icon or Clipboard button under most
circumstances.
A Chisel is a rectangular outline drawn several pixels inside
the Image boundary. The actual "indenting" of the Chisel
varies depending on the overall size of the Button. The
larger the Button, the more indented the Chisel is. A chisel
is made up of two colors (Bright and Dark), and is exactly
two pixels thick. The HELP SYSTEM uses an indented chisel
around the entire screen.
Chisels are like the Sunken attribute in the effect that
they draw "on top of" the actual Button Image.
5.3.4 - MOUSE BUTTONS AND NON-MOUSE BUTTONS
===========================================
There are two modes of operation for a Button. You can make it a
clickable mouse field, or you can simply use the Button Drawing
abilities to draw fancy boxes on your screen with no mouse
clickable features. Being able to specify whether a Button is
a Mouse Area or not gives you more flexibility in what a Button
can do for you.
A non-Mouse Button is the simplest type of Button. It has no
"Host Command", no Hotkey, no underline, cannot be inverted
when clicked (can't even be clicked), and does nothing other
than show something on the screen nice and neat.
If you turn on Mouse Area in the Button Designer, your Button
can come alive with power.
MAKING A BUTTON A MOUSE AREA (option: "Mouse Area")
---------------------------------------------------
When you enable the "Mouse Area" control of the Designer, a
number of other options become available to you to control
how the Button will respond when clicked. You can control
how it looks, how it acts, and how it affects other Buttons.
When "Mouse Area" is activated, whenever you create buttons,
more questions will come up allowing you to custom tailor
each individual Button you place in your scene.
SHOULD THE BUTTON BE INVERTED? (option: "Invert")
-------------------------------------------------
The Invert control is used to determine if the Button should
change in appearance when the user clicks on it. If you
specify that it should not be inverted, then nothing will
visually happen on the user's screen when he clicks on the
Button. Selecting Invert will do one of several things
based what type of Button you are working with.
All Clipboard Buttons and Plain Buttons simply Invert the
image of the Button when you click on them. This typically
gives a good look and feel that the Button has been depressed.
Icon Buttons also can be Inverted in the above manner.
However, Icon Buttons have another method of Inverting,
described in the next section.
INVERTING AN ICON BUTTON (option: "Hot Icon")
---------------------------------------------
Icon Buttons have two methods of Inverting the Button image.
The first, and simplest method, is the standard Invert
described previously.
One aspect of Icon Buttons that sets it apart from other
types of Buttons is that you can specify an arbitrary Icon
File for the image of the Button. If you click on the
"Hot Icon" control of the Button Designer, you open up a new
world of possibilities with Inverted Buttons. When the
Hot Icon control is enabled, when you click on the Button,
instead of merely Inverting the Button's image, RIPterm will
attempt to load a new Icon File and stamp it over the old
Button. The filename of this "Hot Icon" will be the same
filename as your Button Icon, but instead of a .ICN file
extension, it will attempt to use a .HIC extension (stands
for "(H)ot (IC)on". If a .HIC file doesn't exist for the
given Icon, the standard Icon is inverted as normal.
RESET SCREEN AFTER BUTTON IS CLICKED? (option: "Reset")
-------------------------------------------------------
This control determines what will happen after a Button is
clicked. Since a Button can send any piece of text to the
BBS, conceivably, the user could be put into an area of
the system that isn't graphical. Typically, you would want
the user to be able to interact with that section of the
BBS in full-screen text mode.
Making the User have to reset his Text Window to work in
this mode though is counter-productive. Doing so, would
erase the current screen and most likely, the menu that
was displayed as a result of the Button click. The user
would thus be put in a situation where he doesn't know
what to do. Not a good situation to leave your user in.
When you choose the Rest control for Mouse Buttons, when
the Button is actually clicked (and released), the text
window is automatically made full-screen, and the screen
is cleared. This allows anything that the BBS sends to
the terminal after receiving the Button Host Command, will
be displayed in the new window with no graphics cluttering
up the screen.
5.3.5 - RADIO BUTTONS, CHECK BOXES AND BUTTON GROUPS
====================================================
Another powerful feature of the Button system is the ability to
group Buttons into categories. These Button Groups can act
collectively to create things like Radio Buttons or Check Boxes.
BUTTON GROUPS (option: "Group #")
---------------------------------
A Button Group is a collection of zero or more Buttons that
are related together in some way. There are 36 possible
Group "slots". Each slot can have as many Buttons as you
wish, limited only by the fact that you may not have more
than 128 Buttons defined at any one time.
When you create a Button, you can assign it to a Group Number.
All subsequent buttons that are created are automatically
placed into that Group until you change the Group Number in
the Button Designer.
RADIO BUTTONS (option: "Radio Grp")
-----------------------------------
A group of Radio Buttons are quite common on the Computer.
A Radio Group is a group of buttons where only one of them
can be active at any one time. By active, we mean that only
one of them can "clicked" at any one time. An example of
this might be a list of Baud Rates like the following:
Baud Rate
---------
300
1200
-> 2400 <-
4800
9600
19,200
Using this Terminal Program example, you can see that it
would be quite silly to allow the user to have more than
one Baud Rate selected at once. Since you can only
communicate at one particular baud at any one time, this
"select one only" system works rather well.
When you select "Radio Group" in the Button Designer, that
instructs RIPterm to make any subsequent Buttons created
into Radio Buttons. The terminal will do the job of
de-selecting a button when you click on a new one, so the
user will never see two selected at once.
Radio Buttons are IDEAL for using Template Host Commands.
See SECTION 6.0 for a full discussion on Templates and
Host Commands.
CHECK BOXES (option: "Check Boxes")
-----------------------------------
Check-Boxes are a Group of Buttons where one or more of
them can be active at the same time. An example of this
might be the following question to the User:
What food do you like (check all that apply)
--------------------------------------------
--------- ----------- -----------
| Burgers | | Japanese | | Junk food |
--------- ----------- -----------
--------- ----------- -----------
| Chinese | | Indian | | Mexican |
--------- ----------- -----------
The user could click on anywhere from 1-6 of these buttons
in any combination, and in any order.
Each Button in a Checkbox Group has its own Host Command.
These Host Commands may contain Template definitions to
change a particular template definition. But since there
can only be one template defined for a Button Group at
any one time, this opens up an issue of "how do I link all
my Checkboxes together to do something?"
A Checkbox Group is different in the way that it handles
Templates. All of the Checkbox Button Templates that
are defined in the Host Commands of the individual Buttons
are "chained" together end upon end to create one large
Template. That template is then used as the Group Template.
In the above example, you would define each of the
six buttons for the different foods like this:
[0:]Burgers^m
[0:]Chinese^m
[0:]Japanese^m
[0:]Indian^m
[0:]Junk food^m
[0:]Mexican^m
Let's also say for point of discussion, that the user clicked
on BURGERS, JAPANESE and JUNK FOOD. The following would
become the Template for Checkbox Group #0
[0:]Burgers^mJapanese^mJunk food^m
You can get quite fancy with how you "chain" your Checkbox
templates together. You can use any Text Variables,
pick-lists, control characters or other features.
If you do not want to "chain" each Template for each Button
together one after another, then you must use multiple
Checkbox Button Groups.
*** NOTE: You should read through SECTION 6.0 thouroughly
*** for a full understanding of templates, text variables,
*** pick-lists and Host Commands in general.
5.3.6 - FIXED-SIZE "PLAIN" BUTTONS
==================================
Plain Buttons come in two flavors, dynamically-sizable, or fixed in
size. With both choices, you can easily make Plain Buttons all of
the same size and shape, or you can make them any size you want,
thus giving you the choice to make one button one size, and another
one larger or smaller.
MAKING A BUTTON FIXED SIZE (options: "Width" and "Height")
----------------------------------------------------------
The two text fields WIDTH and HEIGHT allowed so that you can
manually enter a pixel Width and Height. This determines
the size of the Image Area and initial Mouse Field border.
Each Button you create will be always this many pixels wide
and tall.
If you set these values both to ZERO, then when you go to
create a Button, you will have to "click-and-drag" the
Button you want, just like you would when drawing a
rectangle. This allows you to make dynamically-sizable
Plain Buttons.
5.3.7 - IMPROVING BUTTON EFFICIENCY AND DRAWING PERFORMANCE
===========================================================
Because Buttons can do so many things in so many ways, the commands
that get transmitted to the Terminal to put so much as a single
Button on screen can get quite length, especially with Icon Buttons.
An Icon Button is one of the worst case scenarios for Button Command
length, as it must transmit the filename of the Icon to the Terminal
for each Icon Button.
If you use an Icon Button for several different Buttons on the same
menu, you can improve transmission efficiency by using a special
mode, called "Auto-Clip".
AUTO-CLIPBOARD BUTTONS (option: "Auto-Clip")
--------------------------------------------
An Auto-Clipboard Button is a special mode that will take the
image of the first Button drawn, and automatically place it
onto the Clipboard for use by further Button Commands. This
saves having to Draw a Button, load the image onto the
Clipboard, go back into the Button Designer and change over
to Clipboard mode, and go back to Button creation.
This mode does it all for you in one nice little control
box. Simply click on Auto-Clip, and the mode will become
active. As soon as you create your first Button, the system
will automatically copy the image of the Button onto the
Clipboard, and will change the Button Designer mode to
"Clipboard Button" mode for you.
To make this command even more functional, it even copies the
Bevel, Chisel and Sunken special effects onto the Clipboard
as well, and disables these Special Effects in the Button
Designer for you too. This way, when the NEXT Button is
drawn, it has one simple little image to paste on the screen
and doesn't have to do any fancy special effects. Special
Effects do slow down the drawing of Buttons a little bit, but
its almost not noticable to the User. Using Auto-Clip with
Special Effects though, you might be able to notice an
improvement in draw-time.
As a final note worth mentioning about Auto-Clip mode, not
only is the filename for an Icon Button no longer needed in
the Button command transmitted, but there will be no further
hard disk accesses for creating Buttons. This will be a
noticable improvement in drawing speed on the Terminal as
there will be no physical disk-access to slow it down. In
this manner, Auto-Clip mode is ideal for Icon Buttons.
NOTE: If you are using Hot-Icons, you should not use
Auto-Clip mode, as there is only ONE clipboard
and it cannot store two images on the clip-
board at the same time.
5.3.8 - SAVING AND LOADING BUTTON DESIGNER STYLES
=================================================
You have the ability to quickly and easily save your hard-earned
Button Styles to disk files. These Button Configuration files
can be used at any time in the future to recall an old button
layout that you like, so you can use it again and again in future
scenes. Simply click on either LOAD or SAVE and enter a filename,
or click on an already existing file. You can have as many Button
Style Configuration files as you wish, limited only by the amount
of available disk space.
One final Button on the Button Designer is the "Default" Button.
This button recalls the RIPaint default system Button configuration
so that you can start from a clean slate at any time you want.
5.3.9 - BUTTON STYLE DEFINITIONS ... PITFALLS
=============================================
Be careful how often you go into the Button Designer to change
things. If you frequently change options in the Designer to get
something "just right", you may find that you are getting very large
Scene files, even though very little is being drawn.
This is because whenever you click on the OK button in the designer,
the system compares the last Button definition to the one you just
modified. If they are not the same, RIPaint will insert a new
"Button Style" command into your scene so that the scene will always
be correct. Multiple "Button Style" commands in a row can
drastically affect the file-size of your final scene. You should
be very careful when "tinkering" with Button Settings not to let
Button Style definitions slip past you into your scene unless you
want them. You might have to use the Undo option more than once
to "undo" your previous Button Definition, before you change one,
so that you don't get two consecutive Button Style commands in a
row. The first one would be considered redundant. Each Button
Style definition is 32 bytes in length, so as you can see, several
of them being redundant in a file can increase the file-size by
quite a bit.
It is always a good idea after you have drawn out your scene to
scan through the Object Lister to see if you can spot any Button
Style definitions that are redundant. If found, simply click on
them and delete them.
6.0 - HOST COMMANDS - A TUTORIAL & REFERENCE SECTION
====================================================
With Mouse regions, Buttons and Text Variable Query ability, you can
control the Terminal/Paint programs and how they react with the BBS
in many ways. To accomplish this, there are several features of
RIPscrip that permit you to do special actions based on different
circumstances. In effect, an "action language" of sorts. The
following sections go into the available "action language" features
in more detail.
Among the various abilities are:
1. Control-Character specification
2. Pre-defined Text Variables & User-defined text variables
3. Pop-up pick-lists
4. A Host Command "Template" system for added intelligence.
5. Query text variable contents (pre-defined & user variables)
6.1 - CONTROL CHARACTERS
========================
Not all BBS'es will allow you to use control characters on their
Service. Regardless of that, the capability to send any Control
Character exists in your Keystroke Macro editor. The most
commonly used Control Characters are:
INDIVIDUAL CONTROL CHARACTERS SPECIAL KEYSTROKES
===========================================================
^G ... Beep ^[[A ... Up Arrow
^L ... Clear Screen (Top of Form) ^[[B ... Down Arrow
^M ... Carriage Return ^[[C ... Right Arrow
^C ... Break (sometimes) ^[[D ... Left Arrow
^H ... Backspace ^[[H ... Home Key
^[ ... Escape character ^[[K ... End Key
^S ... Pause data transmission ^[[L ... Control Home
^Q ... Resume data transmission
6.2 - TEXT VARIABLES
====================
A special feature of RIPaint allows it to understand what a Text
Variable is. A text variable is a piece of text that both RIPaint
and RIPterm know something about. For example, the Text Variable
$DATE$ is known to represent the current Date on your PC. The BBS
may ask your PC what the values of one or more of these variables
is, and if your Terminal knows that particular Text Variable, it
will tell the BBS.
There are two types of Text Variables. There are built-in Text
Variables that RIP products will ALWAYS know about. Then there are
also User Text Variables that can contain a variety of information
depending on what the User entered at the time the Variable was
created. For example, the BBS might ask you what the contents of
the $FULL_NAME$ variable is, and if RIPterm doesn't know, it could
pop-up a field on the screen and ask you about it. From then on,
RIPterm will remember that piece of information for the next time it
is needed by a BBS.
You may use either the pre-defined Text Variables, or the User Text
Variables at any place that allows Text Variables.
The following is a Listing of the Pre-Defined Text Variables:
=============================================================
$DATE$ ... Date in short format (eg, 12/19/92)
----------------------------------------------
This Text Variable will be transformed into the current Date.
It will be displayed in the format MM/DD/YY.
Example: $DATE$ = 12/19/92
$MONTH$ ... Month Name
----------------------
This Text Variable will be transformed into the name of the
Current Month. It will be not abbreviated (eg, "November"
instead of "Nov")
Example: $MONTH$ = December
$MONTHNUM$ ... Month (in format 1-12)
------------------------------------
This Text Variable is transformed into a Number representing
the Current Month. January=01 and December=12. Therefore,
the possible values for $MONTHNUM$ can range from 01-12.
Example: $MONTHNUM$ = 12
$DAY$ ... Day in numeric form (eg, 31)
-------------------------------------
This Text Variable is transformed into a Number representing
the Current Day of the month. Possible values for this
Variable are from 01-31.
Example: $DAY$ = 05
$DOY$ ... Day of year (001-366)
------------------------------
This Text Variable will be transformed into a Number representing
the Day of the current Year. Since a year contains 365 days (unless
it is a Leap-Year where it contains 366), then the possible values
that $DOY$ can be are 001-366.
Example: $DOY$ = 214
$YEAR$ ... 2 digit year (without century) (00-99)
------------------------------------------------
This Text Variable will be transformed into a two-digit number
representing the Current Year.
Example: $YEAR$ = 92
$FYEAR$ ... 4 digit year (with century) (0000-9999)
--------------------------------------------------
This Text Variable will be transformed into a four-digit number
that represents the Current Year.
Example: $FYEAR$ = 1992
$TIME$ ... Time in standard format (eg, 12:03:14)
------------------------------------------------
This Text Variable will be transformed into the Current Time.
The time will be in military format (hours from 00-23).
Example: $TIME$ = 18:09:33
$HOUR$ .... Hour (format HH) - normal style
------------------------------------------
This Text Variable will be transformed into a two-digit number
representing the Current Hour. This variable may be anywhere
from 01-12. This does not use Military format.
Example: $HOUR$ = 11
$MHOUR$ ... Hour (format HH) - Military style
--------------------------------------------
This Text Variable will be transformed into a two-digit number
representing the Current Hour in military format. This variable
may range anywhere from 00-23.
Example: $MHOUR$ = 17
$MIN$ ... Minutes (00-59)
------------------------
This Text Variable will be transformed into a two-digit number
representing the Current Minutes in the Hour. Possible values
for this Variable are 00-59.
Example: $MIN$ = 45
$SEC$ ... Seconds (00-59)
------------------------
This Text Variable will be transformed into a two-digit number
representing the Current Seconds of the Minute. Possible values
for this Variable are 00-59.
Example: $SEC$ = 59
$AMPM$ ... Returns either AM or PM depending on time
---------------------------------------------------
This Text Variable will be transformed into a two-character
value of either "AM" or "PM" depending on what time it is.
Example: $AMPM$ = PM
$DATETIME$ ... Date & Time (eg, Sat Dec 19 14:38:50 1992)
--------------------------------------------------------
This Text Variable will be transformed into a combination Date
and Time. The format is somewhat different than standard
Time/date notation. The format used is:
DAY-OF-WEEK MONTH DAY-OF-MONTH HH:MM:SS YEAR
Example: $DATETIME$ = Sat Dec 19 14:38:50 1992
$TIMEZONE$ ... Time Zone or "NONE" if unknown (eg, Pacific)
----------------------------------------------------------
This Text Variable will be transformed into a a word/phrase that
describes the Current Time-Zone you are in. This may be returned
as anything like "PST" for Pacific Standard Time, "EST" for Eastern
Standard Time, etc. If the Time-Zone is not set on your PC, this
Variable will respond with "NONE".
Example: $TIMEZONE$ = PST
$DOW$ ... Day of week fully spelled out (eg, Friday)
---------------------------------------------------
This Text Variable will be transformed into the Current Day
of the Week. The name will be fully spelled out. This
Variable can be any of the values: Sunday, Monday, Tuesday,
Wednesday, Thursday, Friday and Saturday.
Example: $DOW$ = Saturday
$ADOW$ ... Abbreviated Day of Week (eg, Mon, Tue, etc)
-----------------------------------------------------
This Text Variable will be transformed into the Current Day
of the week, in abbreviated form. This variable may be any
of the following values: Sun, Mon, Tue, Wed, Thu, Fri and Sat.
Example: $ADOW$ = Mon
$WDAY$ ... Weekday where 0 is Sunday (0-6)
-----------------------------------------
This Text Variable will be transformed into a one-digit number
representing the Number of the Day of the Week. Possible values
for this Variable are 0-6, where 0=Sunday (the first day in the
week).
Example: $WDAY$ = 2
$WOY$ ... Week of current year 00-53; Sunday=1st Day of Week
-----------------------------------------------------------
This Text Variable will be transformed into a number from 00-53,
representing the Week Number in the current year. Even though
there are 52 weeks in a year, a week might not begin exactly on
the first day of the year, so a maximum value for this variable
can be 53 under these circumstances. For this Variable, SUNDAY
is considered to be the first day of the week.
Example: $WOY$ = 32
$WOYM$ ... Week of current year 00-53; Monday=1st Day of Week
------------------------------------------------------------
This Text Variable will be transformed into a number from 00-53,
representing the Week Number in the current year. Even though
there are 52 weeks in a year, a week might not begin exactly on
the first day of the year, so a maximum value for this variable
can be 53 under these circumstances. For this Variable, MONDAY
is considered to be the first day of the week.
Example: $WOYM$ = 32
$RIPVER$ ... RIPterm version (eg, "RIPSCRIP010201")
--------------------------------------------------
This Text Variable will be transformed into a key-phrase which
will identify a RIPterm software package. It is designed to
be used by a Host BBS to detect what version of RIPscrip
graphics your Terminal can support. When this Text Variable
is used, it will respond back with "RIPSCRIP" followed by
the full Version Number (eg, 01.40.00), without the periods.
Example: $RIPVER$ = RIPSCRIP014000
$STATBAR$ ... If Status Bar is on, returns YES, otherwise NO
-----------------------------------------------------------
This Text Variable will be transformed into a "YES" if the Status
Bar is currently On on the Terminal. If the Status Bar is not
visible, then this Variable will be "NO".
Example: $STATBAR$ = YES
$X$ ... X Mouse location (format: XXXX)
----------------------------------------
This Text Variable is for reporting the current X location of
the Mouse to the BBS. This could be used interactively by the
BBS (or a game on the BBS) to deterimine the location of the
mouse cursor. Only the X value of the Mouse (X,Y) location is
returned to the BBS. The value will be 0000-9999 depending on
what the current position is.
Example: $X$ = 0523
$Y$ ... Y Mouse location (format: YYYY)
----------------------------------------
This Text Variable is for reporting the current Y location of
the Mouse to the BBS. This could be used interactively by the
BBS (or a game on the BBS) to deterimine the location of the
mouse cursor. Only the Y value of the Mouse (X,Y) location is
returned to the BBS. The value will be 0000-9999 depending on
what the current position is.
Example: $Y$ = 0244
$XY$ ... X/Y Mouse Location (format: XXXX:YYYY)
----------------------------------------------
This Text Variable will be transformed into a combination of
both the X and Y locations of the Mouse Cursor. A colon (:) is
used to separate the two values. Either the X or Y values may
range from 0000-9999 depending on the current location. The
format that this value takes on is: XXXX:YYYY
Example: $XY$ = 0297:0321
$XYM$ ... X, Y & button status (format: XXXX:YYYY:LMR)
-----------------------------------------------------
This Text Variable will be transformed into a combination of
the X and Y Mouse Cursor location, and a status of which
Mouse Buttons are pressed (if any). The format of the returned
text is XXXX:YYYY:LMR where XXXX is the X cursor location in the
range 0000-9999. YYYY is the Y cursor location in the range
0000-9999. Finally, LMR stands for Left/Middle/Right. If either
of these buttons are depressed (clicked), then the corresponding
position will contain a 1. If a button is NOT depressed, then it
will contain a 0.
Example: $XYM$ = 0123:0297:110
This means that the (X,Y) location of the cursor is (0123,0297),
and that the Left and Middle buttons are depressed, but that the
Right Mouse Button is not depressed.
$M$ ... Mouse Button Status: LMR (eg, 101)
-----------------------------------------
This Text Variable will be transformed into a 3-character code
representing what the Status of each Mouse Button is. This
variable can work with either 2-button Mice, or 3-button Mice.
In either event, the format of the code is LMR where L=Left,
M=Middle (if any), and R=Right. If any of these buttons are
depressed (ie, clicked), then the code for that button would be
a "1". If the button is not depressed, it is a "0". So, a value
of "100" would mean that the Left Mouse Button is depressed, but
none of the others are.
Example: $M$ = 001
$MSTAT$ ... Mouse Status (format: XXXX:YYYY:LMR)
-----------------------------------------------
This Text Variable will be transformed into a "YES" if there is
a Mouse installed on the RIPterm computer. If no Mouse is
installed, this variable will contain "NO".
Example: $MSTAT$ = YES
$SBARON$ ... Turn ON the Status Line
------------------------------------
This Text Variable is somewhat different than the other Text
Variables described above. Rather than send something back
to the Host, it performs a specific operation - it turns ON
the Status Line. In this respect, it is considered an ACTIVE
TEXT VARIABLE. It evaluates to a null string (nothing). Its
sole purpose in life is to enable the Status Line.
Example: $SBARON$ = <nil>
$SBAROFF$ ... Turn OFF the Status Line
--------------------------------------
This Text Variable is somewhat different than the other Text
Variables described above. Rather than send something back
to the Host, it performs a specific operation - it turns OFF
the Status Line. In this respect, it is considered an ACTIVE
TEXT VARIABLE. It evaluates to a null string (nothing). Its
sole purpose in life is to disable the Status Line.
Example: $SBAROFF$ = <nil>
$ETW$ ... Erase Text Window
---------------------------
This Text Variable is somewhat different than the other Text
Variables described above. Rather than send something back
to the Host, it performs a specific operation - it Erases the
current Text Window (much like a Clear Screen code does). This
command is particularly useful in Host Commands when you click
on a Mouse area, and after it is finished clicking, it could
erase the text window THEN transmit the remainder of the host
command (if any) to the BBS.
Example: $ETW$ = <nil>
$EGW$ ... Erase Graphics Window
-------------------------------
This Text Variable is somewhat different than the other Text
Variables described above. Rather than send something back
to the Host, it performs a specific operation - it Erases the
current Graphics Window (much like a Reset Windows command does).
This command is particularly useful in Host Commands when you
click on a Mouse area, and after it is finished clicking, it
could erase the graphics window THEN transmit the remainder of
the host command (if any) to the BBS.
Example: $EGW$ = <nil>
$MKILL$ ... Kill all Mouse Fields currently defined
---------------------------------------------------
This Text Variable is also an "Active Text Variable" in the
sense that it doesn't transmit anything per se to the Host.
What it does do, is upon execution, it deletes all currently
defined Mouse Fields exactly like the RIP_KILL_MOUSE_FIELDS
does. The net benefit of this is that when the user clicks
on a Mouse Button, the Mouse Fields are removed, but the
graphics remain on the screen so that the fields could be
subsequently re-defined quickly and easily without having to
re-transmit an identical menu over again.
Example: $MKILL$ = <nil>
$BEEP$ ... Beeps the terminal (like a CTRL-G does)
--------------------------------------------------
This command is an Active Text Variable. It's sole purpose
in life is to issue a Beep to the Terminal, thus producing
a CTRL-G sound.
Example: $BEEP$ = <nil>
$BLIP$ ... Makes a short "blipping" sound (like a Barrier)
----------------------------------------------------------
This Active Text Variable is much like the BEEP variable,
except that the sound produced is different. It produces
a sound more akin to a "barrier" sound; something that
sounds like you're running into a wall or something to that
effect.
Example: $BLIP$ = <nil>
$MUSIC$ ... Makes a musical (cheerful) sound
--------------------------------------------
This Active Text Variable also produces an Audio result. The
sound that is generated is a cheerful sound, representing
some kind of success. The sound is exactly the same as the
Sound you would hear when you receive a successful download,
or when you achieve a connection when dialing the modem in
RIPterm.
6.3 - POP-UP LISTS
==================
Any place that you can use a Text Variable, you can take advantage
of a unique feature of RIPscrip - Popup Pick-Lists. A Popup Pick-
List is simply a list that pops up allowing you to choose from one
of several available values. Whichever entry in the list you choose
will be inserted into your Keystroke Macro in place of the List
Definition.
In order to use Popup Pick-Lists, you must define the List in the
text of your Host Command.
A List is created by putting the special List instructions inside of
two parenthesis (( and )). The list instructions consist of an
optional Question, followed by one or more entries to put in the
List. For example, ((Send Email to?::Sysop,Cosysop,Joe)) says to
Pop-Up a list asking you "Send Email to?", giving you the choices of
"Sysop", "Cosysop", and "Joe".
By default, if you hit <ESCAPE> instead of picking an entry in the
list, then nothing will be inserted into the text of your Command.
You can indicate that the user MUST pick an entry by puttin an
asterisk (*) at the beginning of the question. For example,
((*Send Mail to?::Sysop,Joe)). This would make it so that the User
MUST choose either SYSOP or JOE.
In the previous examples, SYSOP, COSYSOP and JOE are the actual text
responses that are inserted into your Macros. These commands are
also the same things that are displayed in the Listing. If you want
to use something else instead of the actual "return text", you can.
When you enter the List Entry, add a @description to the end of it.
For example, ((Send Mail To?::Sysop@Head Honcho,Cosysop,Joe))
One final feature of Popup Pick-Lists allow you to specify a hotkey
for each entry in the List. For example, if you wanted the first
character of each entry to be hilighted (thus allowing you to select
that character to activate the entry), simply put a tilda (~) or an
underline (_) before and after the keystroke. For example "_S_ysop"
would hilight the "S" in "Sysop". You can hilight more than one
character, but only the first one will be the active hotkey. If you
omit the second tilda or underline, then the remainder of the
description will be hilighted.
NOTE: If you use a Tilda or an Underline in the actual Text
Response command (not the description), then those
characters will be automatically inserted into your
Macro when it gets transmitted to the BBS. This is
probably not what you would want to do. Bottom line,
only use Hotkey features on List Entries where you
specify a Description!
If you do not specify a Question, then the List will
ask you:
"Choose one of the following:"
You may specify up to twenty List Entries for any
one list.
Examples:
((Send E-Mail to?::Sysop,Joe,Mike))
((*Send EMail to?::Sysop@The Head Honcho,Joe,Mike@My Brother))
((::Sysop@_T_he Head Honcho,Joe,Mike@My _B_rother))
((Sysop,Joe,Mike,George))
6.4 - HOST COMMAND "TEMPLATES"
==============================
This feature is somewhat complex in nature, but ultimately powerful
in the long run when creating interactive mouse-driven GUI systems.
Often times you might want a Button on your screen to do one thing
in one situation, but to do something completely different in
another situation. In the past, this required having a separate
menu file for each different function that this Button needs. This
cumbersome method is "history" with Command Templates.
Command Templates are probably best described with a brief example.
Let's say that you have a menu screen for reading and writing
messages in your public message forums. On this menu, you can have
buttons for each forum on your system, and at the same time have
buttons for READ, WRITE, ERASE, MODIFY, etc. Now, how can you make
the READ/WRITE/etc buttons work differently for each Forum?
Templates!
To further refine our example, let's say that if you click on the
button for Forum #1, it should send the command "S FORUM1" to the
host to select that forum. After that, simply clicking on the
READ or WRITE buttons will read through the current section. But,
what if you want to interactively move about on the menu quickly?
Make each of the Forum selection buttons define a template. Each
template will instruct RIPscrip how to process the other Buttons.
In the above example, the Forum #1 button would define a template
like this:
S FORUM1 $?$^m
This Template will return "S FORUM1" followed by the Host Command
for whichever button is clicked, followed by a carriage return.
The special text variable $?$ is only used in Command Templates,
and is used to indicate "insert the text into the template here".
It references the text of some other button that was clicked that
is stuffing it's data INTO this template.
CHARACTERISTICS OF TEMPLATES
----------------------------
Before you can actually go about defining templates, you
need to know how they work, interact and how other functions
interact with templates.
You are allowed up to 36 different templates, each of which
can be different and can all be active at the same time. Each
of the 36 templates correspond to a Button Group (see the
Button Command). Templates can be defined and/or activated
in any order. In other words, you can have a template #1, 5
13 and 32, but none of the others defined. Templates remain
defined until re-defined by another template.
DEFINING A TEMPLATE
-------------------
To create a template, when asked for a Host Command, simply
type in the Template similar to the following:
[5:]S FORUM1 $?$^m
The [5:] at the beginning of the command indicates that you
wish to create template #5 with the following text as the
template. Remember, a $?$ is considered a "macro" that will
insert some text into this template from some other source.
Valid template numbers are 0-9, A-Z. So, with this in mind,
all of the template definitions are valid:
[0:]S FORUM1 $?$^m
[9:]S FORUM2 $?$^m
[G:]S FORUM3 $?$^m
USING TEMPLATES
---------------
When you want to make a button "feed its command" into a
template, you do so in a format similar to defining a
Template, but with a subtle difference. Don't include
the colon (:) in the template reference. An example of
this would be the following:
[0]HELLO
This says, take the text "HELLO" and feed it into template
number 0, and send the final result to the BBS. Note how
simple it is to create and reference templates by either
using a colon or omitting it.
If you do not specify a Template reference in the format
[#] at the beginning of your Host Command, it will be
considered to be a "normal Host Command" that does not
get stuffed into any templates. For completeness, you
may specify []HELLO to send the word "HELLO" to the BBS
without going through any templates (a "null" template).
So in other words, using a [] or using nothing at all is
the same thing, don't use any templates for this Host
command.
CHAINING ONE TEMPLATE RESPONSE INTO ANOTHER (TEMPLATE CHAINING)
---------------------------------------------------------------
In the preceding examples we showed how you can feed the
Host Command of one button through a single Template
definition. This is the "simplest case" of template
processing. As part of the "big picture" of templates,
you can actually "chain" the input of one template into
another template, into another, so on and so forth and
then transmit the result of all composite template stuffing
to the Host as one big command. After all is said and done
with template processing, the text buffer sent to the host
can be anywhere from 0-4095 bytes in length.
To chain one template into another, follow a format similar
to the following:
[0372]HELLO
This will feed the word "HELLO" into template #0, then the
result into template #3, then that result into template #7,
then finally the result will be stuffed into Template #2.
The final result will be then transmitted to the BBS.
You may specify from 0-36 different templates in any one
chaining operations. You MAY use the same template more
than once in the same chain, like the following:
[0370]HELLO
Note, that template #0 is used twice, both at the beginning
and the end of the processing. This feature, potentially
dangerous, is provided for completeness and flexibility.
EMBEDDED TEMPLATES
------------------
You can embed the contents of one Template into another
template (or into a Host Command) by using the special
Text Variable $?x$ where "x" is the Template number to
insert. This command functions much like the insert-text
variable $?$ does, but gives you a great deal more power
and flexibility.
If you specify to embed one template inside another, the
embedded template can contain text variables, pick-lists
and other such things. It can even have another embedded
template in it as well, but that sub-embedded template
cannot have ANY text variables, or any special commands,
not even control characters!
To sum it up, an embedded template can have anything you
want in it, including other embedded templates. All
text variables in an embedded template are expanded, as
are pick lists, control characters and the like. If you
have an embedded template INSIDE an embedded template,
the deepest embedded template will have NO text variable
processing done on it - ie, the text is sent to the
host verbatim, exactly as it appears in the template.
If a template that is referenced is not yet defined, the
template embed command will be skipped (ie, blank) providing
that the embedded template doesn't refer to a Radio Group.
Radio Groups are "dependencies" in this manner. Anything
that tries to embed a Template from a Radio Group will
not be processed if a template in that area hasn't been
defined yet. Embedded templates from Checkbox Groups can
be skipped if none of the check-boxes are active.
TEXT VARIABLES, PICK-LISTS AND CONTROL CHARACTERS IN TEMPLATES
--------------------------------------------------------------
You may use Text Variables, Pick-Lists and Control Characters
anywhere in any template definition, or reference. You are
limited such that, a text variable is translated to its
real value when the template is being processed, not after
all templates are processed. The net result of this is,
you cannot use one template to construct another template's
pick-list, text variables, or the such.
In other words, you cannot "nest" text variable definitions,
pick lists, or control characters. You can have these
commands in any or all templates used in a given template
chain, but they are independent of each other.
EXAMPLES OF SOME TEMPLATE-CHAINS
--------------------------------
Below are several examples of different template setups.
These are intended to give you ideas on how templates
may be used:
Example #1:
[0:]D $?$ Z^m ... Used to download a file with Zmodem
[1:]D $?$ X^m ... Used to download a file with Xmodem
[0]FILENAME.ZIP ... Use this with #0 to download Zmodem
[1]FILENAME.ZIP ... Use this with #1 to download Xmodem
In this example, template #0 is used for downloading with
Zmodem. Template #1 is for downloading with Xmodem.
Depending on which FILENAME.ZIP button you click on, you
might download it with one protocol or with another. It
all lies on which template you reference. The text
transmitted to the BBS if you clicked on the buttons could
be either:
D FILENAME.ZIP Z^m
or, D FILENAME.ZIP X^m
Example #2:
[0:]D $?$ ... Make this the "DOWNLOAD NOW" button
[1:]$?$ X^m ... Radio Button #1 (X-Modem)
[1:]$?$ Y^m ... Radio Button #2 (Y-Modem)
[1:]$?$ B^m ... Radio Button #3 (Y-Modem Batch)
[1:]$?$ Z^m ... Radio Button #4 (Z-Modem)
[01]FILENUM1.ZIP ... Button to download file #1
[01]FILENUM2.ZIP ... Button to download file #2
[01]FILENUM3.ZIP ... Button to download file #3
This example is a bit more involved. It brings the concept
of "radio buttons" into the picture. This is something
that is part of the Button command. A Radio button is
like having a list of options on your screen, only one
of which can be active at any one time. When using
templates with Radio buttons, you can quickly and elegantly
define a menu that can do one thing in one mode, or
something totally different in another mode. An example
of the above menu might be as follows:
Protocols: Download which file?
__ __
|\/| | |
|/\| X-Modem | | File #1
-- --
__ __
| | |\/|
| | Y-Modem |/\| File #2
-- --
__ __
| | | |
| | Y-Modem (batch) | | File #3
-- --
__
| |
| | Z-Modem _______________________
-- | |
| BEGIN DOWNLOAD NOW! |
|_______________________|
MORE ABOUT TEMPLATES
--------------------
When you use the $?$ text variable inside a template definition,
you are not limited to using it only once. In fact, you can use
it as many times in your template definition as you wish. This
can be useful under many circumstances where the user might have
to enter the same thing twice.
In the preceding example #2, a group of Radio Buttons was used
on the right side of the screen to determine which file should
be downloaded. In that example, there was no ability to specify
an arbitrary filename to download. You were only allowed to
download one of three given files. What would be perfect, would
be to have the ability to pop-up a question to the user asking
what filename they wanted. The solution is easy, insert a
text-variable that hasn't been defined yet! To illustrate, the
above example could be modified to accomodate this as follows:
[0:]D $?$ ... Make this the "DOWNLOAD NOW" button
[1:]$?$ X ... Radio Button #1 (X-Modem)
[1:]$?$ Y ... Radio Button #2 (Y-Modem)
[1:]$?$ B ... Radio Button #3 (Y-Modem Batch)
[1:]$?$ Z ... Radio Button #4 (Z-Modem)
[01]FILENUM1.ZIP ... Button to download file #1
[01]FILENUM2.ZIP ... Button to download file #2
[01]FILENUM3.ZIP ... Button to download file #3
[01]$FILENAME$ ... Button to download ANY file
The screen might appear something like this:
Protocols: Download which file?
__ __
|\/| | |
|/\| X-Modem | | File #1
-- --
__ __
| | |\/|
| | Y-Modem |/\| File #2
-- --
__ __
| | | |
| | Y-Modem (batch) | | File #3
-- --
__ __
| | | |
| | Z-Modem | | Enter Filename
-- --
_______________________
| |
| BEGIN DOWNLOAD NOW! |
|_______________________|
Note the addition of the "Enter Filename" button. If the user
clicked on that button, it would first try to replace $FILENAME$
with a text variable. It will find that such a variable does
not exist, and will then pop-up the following question on the
screen:
_____________________________
| |
| Enter "FILENAME" |
| _______________________ |
| | | |
| |_______________________| |
| |
|_____________________________|
If the user typed in "DEMOFILE.TXT", then that filename is
inserted where $FILENAME$ was located, then it is piped through
template #0, resulting in:
D DEMOFILE.TXT
The result of that is then stuffed through Template #1 which
gives the following return string sent to the BBS:
D DEMOFILE.TXT Z^m
This is only an example, your mileage may vary.
6.5 - TEXT VARIABLE CREATION, AND QUERY
=======================================
As mentioned in preceding sections, Text Variables were described
as either "pre-defined" variables, or as "User Variables". Pre-
defined variables are variables that RIPscrip products know things
about "out of the box". They will always know what the variables
mean, from the day you install them. User Variables on the other
hand, are variables that you, the user of RIPscrip products define,
and teach the system information.
WHAT ARE USER VARIABLES?
------------------------
A User Variable is a Text Variable that RIPscrip doesn't
already know exists. They are custom-defined text variables
that contain information that the RIPterm user will fill-in.
If a variable already contains information, a BBS will be auto-
matically told [IF TOLD TO DO SO] what that variable contains
without the user having to intervene (ie, transparent informa-
tion exchange).
Examples of Text Variables might be:
$FULL_NAME$ ... What is your full name?
$COMPANY_NAME$ ... What company do you work for?
$AGE? ... How old are you?
$DATEOFBIRTH$ ... What is your Date of Birth?
$PHONENUMBER$ ... What is your Day-time phone number?
User Variables will "keep track" of these responses for you,
on the Terminal program end. You can tell the Terminal to
store these values "permanently" in a disk-file, or they may
be active only during the current online session, or they
may be defined as "temporary" where they are not stored for
more than a brief moment.
Note, this ability is configurable so that information exchange
can be either interactive, or automatic. Automatic transfer
of information does NOT prompt the user with the information
unless the variable has not yet been defined. If it has not
been defined, a pop-up question will appear asking the user
a particular question, thus defining the text variable.
If the exchange is "interactive", the data is displayed in a
pop-up editor box, asking you if the information is correct.
If it is, simply tap <ENTER> and the retrieved information is
sent to the BBS for you. If it is not correct, or it has not
been created yet, just type it in and tap <ENTER> and it will
be saved automatically, and sent to the BBS all at once.
HOW CAN USER VARIABLES BE IMPORTANT?
------------------------------------
Let's take an example. Let's say you are a System Operator
of a large RIPscrip BBS. As you have read, RIPscrip can take
advantage of "database like" ability on the terminal-end of
the communication. If you can alter your BBS to ask questions
with RIPscrip "text variables" built in, you can have the
terminal calling your system automatically fill-in questionaires
on your system. Imagine if a user could "sign-up" on your BBS
without having to type more than a single keystroke (ie, "YES,
this information is correct"). With User Text Variables, you
can do this very thing.
CREATING USER VARIABLES
-----------------------
There are two ways of defining User Text Variables in RIPaint.
You can use either "Define Text Variable" commands, or you
can use Text Variable Queries, as described in the next
section.
DEFINING TEXT VARIABLES
-----------------------
The RIPscrip command "Define Text Variable" is by definition,
an interactive command with the User. The RIPscrip command
will attempt to define a "User Variable". This Variable is
some piece of information that the System Operator deems
important. You may specify a question, a default response,
and how many characters long the response may be.
Once the "define command" has been sent to the Terminal, it
[the terminal] pops up an appropriate question box on the
User's screen asking him the desired question that should be
saved to a particular Text Variable. If you did not specify
a question, a suitable "default" question will be displayed.
Once the User has entered his response, it is recorded and
saved. How long it is saved depends on how the BBS told
the terminal. The BBS can tell the terminal "save this
on your hard disk forever". The BBS may also tell the
terminal, "don't save this to disk, but remember this value
until your connection with our BBS is lost". You also have
the option of saying, "don't remember this value at all,
just simply pop-up a question on-screen, and send the value
to me NOW - ie, don't save it at all - just enter it and send
it to the BBS).
QUERYING TEXT VARIABLES
-----------------------
Now that you know how to define information on the terminal,
you need to know the last method of asking the terminal
about text variables. This feature is called "data query".
Data Query is a generic "query" command that can ask the
terminal one or more questions, and tell it how to transmit
the information back to the host. This command is for use
in non-button situations where you do not want to wait until
the user clicks on a button to get your data back.
A Data Query is actually a special RIPscrip command that can
be used to ask the contents of one or more Text Variables.
EXAMPLES OF TEXT VARIABLE QUERY
-------------------------------
Let's take a simple example. Let's say that you wanted to ask
the Terminal program some address information. You could do
so with the following query (remember, the query also tells
the terminal HOW to send the data back to the BBS):
$FULL_NAME$^m$COMPANY$^m$STREET_ADDR$^m$CITY$, $STATE$ $ZIP^m
This would query the terminal the contents of 6 text variables,
and format them in a manner similar to any normal address on
an envelope. The results of this query might send the following
back to the host (again, your mileage may vary):
Jeff Reeder
TeleGrafix Communications, Inc.
16458 Bolsa Chica #15
Huntington Beach, CA 92649
If a text variable is queried, and it has not been defined yet,
a pop-up question will appear asking the user to fill-in the
information.
7.0 - ERROR MESSAGES
====================
ALL MOUSE REGIONS IN USE
------------------------
The last mouse region that was attempted to be created exceeded
the maximum amount of mouse regions that are allowed on the
screen at the same time.
BOTTOM SNAP Y OUT OF RANGE
--------------------------
The value entered for the bottom of the grid snap area is lower
or higher than the maximum range allowed. The user must enter
another value within the allowed range for this error not to
appear.
CANNOT CREATE FILE ON DISK
--------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
CANNOT WRITE THE SETUP FILE
---------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
CAN'T APPEND TO MOUSE REGIONS
-----------------------------
The attempt to add an addition mouse field in the current scene
failed. This could be caused by insufficient memory or the
maximum amount of mouse fields has been reached.
CAN'T OPEN OUTPUT FILE
----------------------
The filename that was selected to save the the current object as
could not be created in DOS for some reason.
CAN'T UNDO TEXT REGION; MISMATCH!
---------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
CAN'T VIEW HELP SCREEN
----------------------
Insufficient memory or improper formatting of the help file has
kept the help system from displaying the requested help message.
CHOSEN HELP ITEM DOES NOT EXIST
-------------------------------
The help item that was requested by the system could not be found
in the currently loaded help system file.
CLIPBOARD NOT IN USE
--------------------
An attempt to use the Clipboard area before any screen area has
been loaded into the clip system. This message can be shown when
trying to use the Destroy Clipboard or Paste command without
copying any screen reagion to it.
COLOR RESERVED IN PALETTE
-------------------------
You have tried tried to select a color that the paint program
and terminal use for the menu and gui front end, altering these
colors is not currently allowed.
The current colors reserved by the system are:
BLACK
WHITE
DARK GRAY
LIGHT GRAY
COULD NOT UPDATE ACTUAL MOUSE REGION IN SCENE
---------------------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
ERROR READING BUTTON STYLE
--------------------------
An error was encountered when reading a previously saved Button
Style. Either the file has somehow been corrupted or there is
potentially insufficient memory to load any more objects.
ERROR READING DISK FILE
-----------------------
A DOS level error has occurred when attempting to read a file
into the current scene.
ERROR READING PATTERN
---------------------
An error was encountered when reading a previously saved pattern
file. Either the file has somehow been corrupted or there is
potentially insufficient memory to load any more objects.
ERROR WRITING TO DISK
---------------------
Any error has occurred when trying to write the specified to the
hard drive or floppy disk, this could be cause by errors on the
disks or other operating system errors.
ERROR WRITING TO THE SETUP FILE
-------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
FUNCTION NOT IMPLEMENTED YET
----------------------------
This message lets the user know the selected feature has not
been added to the RIP paint system at this time.
GENERAL SYSTEM ERROR
--------------------
This message shows the user any main system error messages that
are encountered while the paint program interacting with the DOS
system, such as reading and writing files.
HELP ITEM OUT OF RANGE
----------------------
The help number that was requested by the system is larger than
the last item number in the currently loaded help system file.
ICON IS TOO LARGE TO MAKE A "BUTTON" OUT OF IT
----------------------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
ICON REGIONS MAY NOT OVERLAP
----------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
IMAGE AREA TOO LARGE TO MAKE A BUTTON OUT OF IT
-----------------------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
IMAGE AREA TOO LARGE TO MAKE A MOUSE REGION OUT OF IT
-----------------------------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
IMAGE AREA TOO LARGE!
---------------------
The icon you have selected to load into the scene will not fit
into the current available memory. Try clearing the current
paste buffer and loading the icon again.
IMAGE TOO LARGE FOR CLIPBOARD
-----------------------------
The area of the screen you have selected to load into the paint
programs clip board is to large to fit into the current
available memory. Try clearing the current paste buffer and
selecting that area again.
INVALID FILENAME
----------------
Any file name that is requested to be loaded or saved within the
editor from the DOS environment must be formated as a valid DOS
filename with no more that 8 character name and a three
character extention separated by a period, such as:
NICEPICT.RIP
INSUFFICIENT MEMORY FOR IMPORT OBJECT
-------------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
INSUFFICIENT MEMORY (I)
-----------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
INSUFFICIENT MEMORY (II)
------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
LAST OBJECT UNDONE
------------------
This message indicates that the last object that was in the scene
has been deleted.
LEFT SNAP X OUT OF RANGE
------------------------
The value entered for the left grid snap border is lower or
higher than the maximum range allowed. The user must enter
another value within the allowed range for this error not to
appear.
MAGNIFY REGION TOO BIG!
-----------------------
The area you tried to select to magnify in on is too large to
load into the current available memory. Try clearing the paste
buffer and attempting to load magnify the region again.
MAX MOUSE REGIONS IN USE
------------------------
The last mouse region that was attempted to be created exceeded
the maximum amount of mouse regions that are allowed on the
screen at the same time.
MUST SPECIFY A TEXT COMMAND TO SEND TO THE HOST
-----------------------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
MUST USE A QUESTION MARK (?) AT THE END OF A QUESTION
-----------------------------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
NO CLIPBOARD TO PASTE
---------------------
An attempt was made to paste the the clipboard to the screen when
it was empty. You must clip an area of the screen into the
Clipboard before any paste operation can be executed.
NO CLIPBOARD TO SAVE TO DISK
----------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
NO HELP AVAILABLE ON SUBJECT
----------------------------
The function that is currently activated in the paint system does
not have a help message available.
NO MOUSE REGIONS DEFINED
------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
NO PREVIOUSLY EDITED ICON TO ZOOM IN ON
---------------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
NOT CORRECT ICON FILE FORMAT
----------------------------
The file that was requested to be loaded as an icon into the
current scene was not in the proper icon file format.
NOTHING TO DISPLAY FOR BUTTON
-----------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
NOTHING TO SHOW FOR BUTTON
--------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
NOTHING TO UNDO
---------------
This message indicates that there are no objects loaded in the
editor at the time you selected the "UNDO" function.
NOTHING TO VIEW
---------------
A request was made to view the object list when the scene has no
objects loaded.
REGION TOO TALL FOR GIVEN FONT!
-------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
RIGHT SNAP X OUT OF RANGE
-------------------------
The value entered for the right grid snap border is lower or
higher than the maximum range allowed. The user must enter
another value within the allowed range for this error not to
appear.
SELECTED ICON AREA TOO LARGE TO LOAD
------------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
SELECTED LOCATION IS NOT INSIDE A MOUSE REGION
----------------------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
SNAP BOX HEIGHT OUT OF RANGE
----------------------------
The value entered for the grid snap height is lower or higher
than the maximum range allowed. The user must enter another
value within the allowed range for this error not to appear.
SNAP BOX WIDTH OUT OF RANGE
---------------------------
The value entered for the grid snap width is lower or higher than
the minimum or maximum range allowed. The user must enter
another value within the allowed range for this error not to
appear.
SNAP BOX X INSET OUT OF RANGE
-----------------------------
The value entered for the grid snap X inset is lower or higher
than the maximum range allowed. The user must enter another
value within the allowed range for this error not to appear.
SNAP BOX Y INSET OUT OF RANGE
-----------------------------
The value entered for the grid snap Y inset is lower or higher
than the maximum range allowed. The user must enter another
value within the allowed range for this error not to appear.
SPECIFIC DOS ERROR
------------------
This message shows the user any DOS error messages that are
encountered when the paint program is interacting with the DOS
system, such as reading and writing files.
SPECIFIED FILE WIDTH IS NOT VALID
---------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
TOP SNAP Y OUT OF RANGE
-----------------------
The value entered for the top of the grid snap area height is
lower or higher than the maximum range allowed. The user must
enter another value within the allowed range for this error not
to appear.
UNABLE TO READ DATA FROM IMPORT FILE
------------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
UNABLE TO WORD WRAP IMPORT FILE
-------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
WORD WRAP OVERFLOW!
-------------------
If the string that is to be work wrapped is too long for the
system to wrap it to the next line, this error will occur.
YOU CANNOT CREATE BLANK TEXT VARIABLE QUERY COMMAND
---------------------------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
YOU MAY ENTER A NUMBER FROM 1-60, OR LEAVE BLANK FOR NONE
---------------------------------------------------------
*************************************************
* No help is currenly available on this subject *
*************************************************
ZOOM REGION TOO LARGE!
----------------------
The area you tried to select to zoom in on is too large to load
into
the current available memory. Try clearing the paste buffer and
attempting to load zoom the region again.
8.0 TECHNICAL SUPPORT
=====================
This program is as bug-free as possible. In all reality, there are
most likely some bugs that have not as of yet been discovered. Should
any bugs be discovered, they should be reported to the authors as
soon as possible at the following address:
TeleGrafix Communications, Inc.
16458 Bolsa Chica, #15
Huntington Beach, CA 92649
Voice .. (714) 379-2131
Fax .... (714) 379-2132
Data ... (714) 840-3520 - ArenaBBS [32 lines]
Authors: Jeff "Covenant" Reeder
(CEO: Senior Programmer)
Mark "Necron" Hayton
(President: Programmer/Analyst/Marketing)
Jim "Bergie" Bergman
(Vice President: Programmer)
Mara "Kytty" Ward
(Chief Operations Officer: Production)
8.1 RIPscrip DISTRIBUTERS
=========================
For more information about RIPscrip based products, contact:
TeleGrafix Communications, Inc ResNova Software
16458 Bolsa Chica, #15 16458 Bolsa Chica, #193
Huntington Beach, CA 92649 Huntington Beach, CA 92649
Voice: (714) 379-2131 Voice: (714) 840-6082
Fax : (714) 379-2132 Fax : (714) 840-0488
Data : (714) 840-3520 Data : (714) 840-8641
ArenaBBS [32 lines] Nova Central [4 lines]
The MajorBBS Nova Link Professional
RIP Demo Midwest
Voice: (708) 820-8875
Fax : (708) 898-4994
Data : (708) 978-2777
RIP Demo Midwest [2 lines]
TBBS
9.0 - QUICK HOT KEY REFERENCE
=============================
System Info alt-F10
Current Help F1
General Help alt-F1
Help on Menus alt-H
New alt-N
Load Scene... F2
Save Scene... F3
Load Icon... ctrl-L
Load/edit Icon ctrl-sh-L
Exit alt-X
Choose Color F8
Modify palette alt-P
Set default palette alt-R
Line L
Draw Pixel X
Text data T
Rectangle R
Circular Arc A
Polygon P
Filled Bar B
Circle C
Ellipse O
Fill Region F
Copy to Clipboard G
Paste Clipboard I
Zoom Mode Z
Magnify M
Mouse Area U
Import Text... alt-I
UNDO! alt-U
Redraw F10
Objects alt-O
Status Line SPACE
Toolbox TAB
Left mouse border alt-1
Right mouse border alt-2
Top mouse border alt-3
Bottom mouse border alt-4
Reset mouse border alt-5
Grid Snap ctrl-F5
Reset Snap ctrl-F6
Line Style ctrl-F7
Draw mode: COPY alt-W
Destroy Clipboard ctrl-D
Save Clipboard ctrl-W
Paste Lock: Off alt-K
Zooming Windows alt-Z
Redraw (step) Shift-F10
Toggle FILL ON/OFF E
Fill Color Select F7
Fill Border Select F6
Fill Pattern Select F5
Edit Fill Pattern F4
Load Pattern... ctrl-F2
Save Pattern... ctrl-F3
Font Style alt-F
Choose Size ctrl-F
Font Size - 1X 1
Font Size - 2X 2
Font Size - 3X 3
Font Size - 4X 4
Font Size - 5X 5
Font Size - 6X 6
Font Size - 7X 7
Font Size - 8X 8
Font Size - 9X 9
Font Size - 10X 0
Show fields alt-M
Edit field alt-E
Delete field alt-D
Kill fields alt-K
Show borders alt-B
Zoom last Icon ctrl-R